<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="shortcut icon" href="dlib-icon.ico"><meta name="verify-v1" content="02MiiaFNVzS5/u0eQhsy3/knioFHsia1X3DXRpHkE6I="><meta name="google-site-verification" content="DGSSJMKDomaDaDTIRJ8jDkv0YMx9Cz7OESbXHjjr6Jw"><title>dlib C++ Library
   - Old Change Logs</title><script language="JavaScript">

// ---------------------------------------------
// --- Name:    Easy DHTML Treeview           --
// --- Author:  D.D. de Kerf                  --
// --- Version: 0.2          Date: 13-6-2001  --
// ---------------------------------------------
function Toggle(node)
{
   // Unfold the branch if it isn't visible
   var next_node = node.nextSibling;
   if (next_node.style.display == 'none')
   {
      // Change the image (if there is an image)
      if (node.childNodes.length > 0)
      {
         if (node.childNodes.length > 0)
         { 
            if (node.childNodes.item(0).nodeName == "IMG")
            {
               node.childNodes.item(0).src = "minus.gif";
            }
         }
      }

      next_node.style.display = 'block';
   }
   // Collapse the branch if it IS visible
   else
   {
      // Change the image (if there is an image)
      if (node.childNodes.length > 0)
      {
         if (node.childNodes.length > 0)
         { 
            if (node.childNodes.item(0).nodeName == "IMG")
            {
               node.childNodes.item(0).src = "plus.gif";
            }
         }
      }

      next_node.style.display = 'none';
   }

}
function BigToggle(node)
{
   // Unfold the branch if it isn't visible
   var next_node = node.nextSibling;
   if (next_node.style.display == 'none')
   {
      // Change the image (if there is an image)
      if (node.childNodes.length > 0)
      {
         if (node.childNodes.length > 0)
         { 
            if (node.childNodes.item(0).nodeName == "IMG")
            {
               node.childNodes.item(0).src = "bigminus.gif";
            }
         }
      }

      next_node.style.display = 'block';
   }
   // Collapse the branch if it IS visible
   else
   {
      // Change the image (if there is an image)
      if (node.childNodes.length > 0)
      {
         if (node.childNodes.length > 0)
         { 
            if (node.childNodes.item(0).nodeName == "IMG")
            {
               node.childNodes.item(0).src = "bigplus.gif";
            }
         }
      }

      next_node.style.display = 'none';
   }

}
</script><style type="text/css">
   body {margin:0px;}
   pre {margin:0px;}

   ul.tree  li { list-style: none;  margin-left:10px;} 
   ul.tree  { margin:0px; padding:0px; margin-left:5px; font-size:0.95em; }
   ul.tree  li ul { margin-left:10px; padding:0px; }

   li#term { list-style: none; }

   div#component {
      background-color:white; 
      border: 2px solid rgb(102,102,102); 
      text-align:left;
      margin-top: 1.5em;
      padding: 0.7em;
   }

   div#question {
      background-color:white; 
      border: 2px solid rgb(102,102,102); 
      text-align:left;
      margin-top: 1.5em;
      margin-bottom: 90%;
      padding: 0.7em;
   }

   div#function {
      background-color:white; 
      border: 2px solid rgb(102,102,255); 
      text-align:left;
      margin-top: 0.3em;
      padding: 0.3em;
   }

   div#class {
      background-color:white; 
      border: 2px solid rgb(255,102,102); 
      text-align:left;
      margin-top: 0.3em;
      padding: 0.3em;
   }

   div#extension {
      background-color:#FDFDFD; 
      border: 1px solid rgb(102,102,102); 
      text-align:left;
      margin-top: 1.0em;
      padding: 0.7em;
   }

   div#logb {
      text-align:left;
      padding: 0.0em;
      float: left;
      background-color:#c0c0c0; 
      border: double ; 
      margin: 0.5em;
   }

   div#name {
      float: left;
   }
   div#line1 {
      float:left;
      width:100%;
      background-color:#dfdfdf; 
   }
   div#line2 {
      float:left;
      width:100%;
   }
   div#inc {
      float: right;
   }


   .code_box
   {
      color: black;
      margin: 1em 0.25in;
      padding: 0.5em;
      background: rgb(240,240,240);
      border-top: black dotted 1px;
      border-left: black dotted 1px;
      border-right: black solid 2px;
      border-bottom: black solid 2px;
   }



   .bdotted {border-bottom: 1px dotted}
   .bdashed {border-bottom: 1px dashed}
   .bsolid {border-bottom: 1px solid}
   .bdouble {border-bottom: 1px double}
   .bgroove {border-bottom: 1px groove}
   .bridge {border-bottom: 1px ridge}
   .binset {border-bottom: 1px inset}
   .boutset {border-bottom: 1px outset}

   div#row1 {
      background-color:#dfdfdf; 
   }
   div#row2 {
      background-color:#f2f2f2; 
   }

   div#typedefs {
      margin-left: 1.5em;
      margin-top: 0.2em;
      border: 1px dotted;
      width: 52em;
   }

   div#tdn {
      width: 10em;
   }

   .fullhr {
      clear: both;
   }

   body {
      text-align: center;
   }

   div#entire_page {
      width:62.5em;  
      text-align: left;
      margin-top: 0.4em;
      margin-left: auto;
      margin-right: auto;
   }
</style></head><body bgcolor="#EDF3EE"><a name="top"></a><div id="entire_page"><a href="http://dlib.net"><img src="dlib-logo.png"></a><table bgcolor="white" height="100%" bordercolor="#EDF3EE" CELLSPACING="0" CELLPADDING="10" style="border:0px;margin-top:2px"><tr height="100%"><td BGCOLOR="#F5F5F5" style="padding:7px; border: 1px solid rgb(102,102,102);" VALIGN="TOP" height="100%"><br><table WIDTH="145" height="100%"><tr><td VALIGN="TOP"><b>The Library</b><ul class="tree"><li><a href="algorithms.html">Algorithms</a></li><li><a href="api.html">API Wrappers</a></li><li><a href="bayes.html">Bayesian Nets</a></li><li><a href="compression.html">Compression</a></li><li><a href="containers.html">Containers</a></li><li><a href="graph_tools.html">Graph Tools</a></li><li><a href="imaging.html">Image Processing</a></li><li><a href="linear_algebra.html">Linear Algebra</a></li><li><a href="ml.html">Machine Learning</a></li><li><a href="metaprogramming.html">Metaprogramming</a></li><li><a href="other.html">Miscellaneous</a></li><li><a href="network.html">Networking</a></li><li><a href="optimization.html">Optimization</a></li><li><a href="parsing.html">Parsing</a></li></ul><br><b>Help/Info</b><ul class="tree"><li><a onclick="Toggle(this)" style="cursor: pointer;margin-left:-9px"><img src="plus.gif"><font color="green"><u>Examples: C++</u></font></a><ul style="display:none;"><li><a href="assignment_learning_ex.cpp.html">Assignment_Learning</a></li><li><a href="file_to_code_ex.cpp.html">Base64_Encoder</a></li><li><a href="bayes_net_ex.cpp.html">Bayesian_Network</a></li><li><a href="bayes_net_from_disk_ex.cpp.html">Bayesian_Network_From_Disk</a></li><li><a href="bayes_net_gui_ex.cpp.html">Bayesian_Network_GUI</a></li><li><a href="bridge_ex.cpp.html">Bridge</a></li><li><a href="bsp_ex.cpp.html">BSP</a></li><li><a href="compress_stream_ex.cpp.html#_top">Cmd_Line_Parser</a></li><li><a href="compress_stream_ex.cpp.html">Compress_Stream</a></li><li><a href="config_reader_ex.cpp.html">Config_File_Reader</a></li><li><a href="custom_trainer_ex.cpp.html">Custom_Trainers</a></li><li><a href="dir_nav_ex.cpp.html">Directory_Navigation</a></li><li><a href="empirical_kernel_map_ex.cpp.html">Empirical_Kernel_Map</a></li><li><a href="face_detection_ex.cpp.html">Face_Detection</a></li><li><a href="fhog_ex.cpp.html">FHOG_Feature_Extraction</a></li><li><a href="fhog_object_detector_ex.cpp.html">FHOG_Object_Detection</a></li><li><a href="graph_labeling_ex.cpp.html">Graph_Labeling</a></li><li><a href="gui_api_ex.cpp.html">GUI</a></li><li><a href="server_http_ex.cpp.html">HTTP_Server</a></li><li><a href="image_ex.cpp.html">Image</a></li><li><a href="iosockstream_ex.cpp.html">IO Socket Streams</a></li><li><a href="server_iostream_ex.cpp.html">IO Streams Server</a></li><li><a href="kcentroid_ex.cpp.html">Kernel_Centroid</a></li><li><a href="kkmeans_ex.cpp.html">Kernel_K-Means_Clustering</a></li><li><a href="krr_regression_ex.cpp.html">Kernel_Ridge_Regression</a></li><li><a href="krls_filter_ex.cpp.html">Kernel_RLS_Filtering</a></li><li><a href="krls_ex.cpp.html">Kernel_RLS_Regression</a></li><li><a href="krr_classification_ex.cpp.html">KRR_Classification</a></li><li><a href="learning_to_track_ex.cpp.html">Learning_to_Track</a></li><li><a href="linear_manifold_regularizer_ex.cpp.html">Linear_Manifold_Regularizer</a></li><li><a href="logger_ex.cpp.html">Logger</a></li><li><a href="logger_ex_2.cpp.html">Logger_Advanced</a></li><li><a href="logger_custom_output_ex.cpp.html">Logger_Custom_Output</a></li><li><a href="matrix_ex.cpp.html">Matrix</a></li><li><a href="matrix_expressions_ex.cpp.html">Matrix_Expressions</a></li><li><a href="member_function_pointer_ex.cpp.html">Member_Function_Pointer</a></li><li><a href="model_selection_ex.cpp.html">Model_Selection</a></li><li><a href="multiclass_classification_ex.cpp.html">Multiclass_Classification</a></li><li><a href="multithreaded_object_ex.cpp.html">Multithreaded_Object</a></li><li><a href="mlp_ex.cpp.html">Neural_Network</a></li><li><a href="least_squares_ex.cpp.html">Non-Linear Least Squares</a></li><li><a href="integrate_function_adapt_simp_ex.cpp.html">Numerical_Integration</a></li><li><a href="object_detector_ex.cpp.html">Object_Detector</a></li><li><a href="object_detector_advanced_ex.cpp.html">Object_Detector_Advanced</a></li><li><a href="one_class_classifiers_ex.cpp.html">One_Class_Classifiers</a></li><li><a href="svm_pegasos_ex.cpp.html">Online_SVM</a></li><li><a href="optimization_ex.cpp.html">Optimization</a></li><li><a href="parallel_for_ex.cpp.html">Parallel_For_Loops</a></li><li><a href="pipe_ex.cpp.html">Pipe</a></li><li><a href="pipe_ex_2.cpp.html">Pipe_2</a></li><li><a href="quantum_computing_ex.cpp.html">Quantum_Computing</a></li><li><a href="queue_ex.cpp.html">Queue</a></li><li><a href="rank_features_ex.cpp.html">Rank_Features</a></li><li><a href="rvm_ex.cpp.html">Relevance_Vector_Classification</a></li><li><a href="rvm_regression_ex.cpp.html">Relevance_Vector_Regression</a></li><li><a href="running_stats_ex.cpp.html">Running_Stats</a></li><li><a href="sequence_labeler_ex.cpp.html">Sequence_Labeling</a></li><li><a href="sequence_segmenter_ex.cpp.html">Sequence_Segmentation</a></li><li><a href="sockets_ex.cpp.html">Sockets</a></li><li><a href="sockstreambuf_ex.cpp.html">Sockstreambuf</a></li><li><a href="svm_sparse_ex.cpp.html">Sparse_Vectors</a></li><li><a href="std_allocator_ex.cpp.html">Std_C++_Allocator</a></li><li><a href="svm_struct_ex.cpp.html">Structural_Support_Vector_Machines</a></li><li><a href="svm_ex.cpp.html">Support_Vector_Machine</a></li><li><a href="svr_ex.cpp.html">Support_Vector_Regression</a></li><li><a href="surf_ex.cpp.html">SURF</a></li><li><a href="svm_rank_ex.cpp.html">SVM-Rank</a></li><li><a href="threaded_object_ex.cpp.html">Threaded_Object</a></li><li><a href="threads_ex.cpp.html">Threads</a></li><li><a href="thread_function_ex.cpp.html">Thread_Function</a></li><li><a href="thread_pool_ex.cpp.html">Thread_Pool</a></li><li><a href="timer_ex.cpp.html">Timer</a></li><li><a href="train_object_detector.cpp.html">Train_Object_Detector</a></li><li><a href="using_custom_kernels_ex.cpp.html">Using_Custom_Kernels</a></li><li><a href="xml_parser_ex.cpp.html">XML_Parser</a></li></ul></li><li><a onclick="Toggle(this)" style="cursor: pointer;margin-left:-9px"><img src="plus.gif"><font color="green"><u>Examples: Python</u></font></a><ul style="display:none;"><li><a href="face_detector.py.html">Face_Detector</a></li><li><a href="max_cost_assignment.py.html">Linear_Assignment_Problems</a></li><li><a href="sequence_segmenter.py.html">Sequence_Segmenter</a></li><li><a href="svm_struct.py.html">Structural_Support_Vector_Machines</a></li><li><a href="svm_rank.py.html">SVM-Rank</a></li><li><a href="train_object_detector.py.html">Train_Object_Detector</a></li></ul></li><li><a href="faq.html">FAQ</a></li><li><a href="index.html">Home</a></li><li><a href="compile.html">How to compile</a></li><li><a href="howto_contribute.html">How to contribute</a></li><li><a href="term_index.html">Index</a></li><li><a href="intro.html">Introduction</a></li><li><a href="license.html">License</a></li><li><a href="python/index.html">Python API</a></li><li><a href="books.html">Suggested Books</a></li></ul><br><b>Current Release</b><ul class="tree"><li><a href="change_log.html">Change Log</a></li><li><a href="release_notes.html">Release Notes</a></li><li>Version: 18.9</li></ul><br></td><td width="1"></td></tr><tr><td valign="bottom"><br><br><br><br><br><br><br><br><br>
      Last Modified:<br>Jun 16, 2014<br><br></td></tr></table></td><td VALIGN="TOP" width="100%" style="border: 1px solid rgb(102,102,102);"><center><h1>Old Change Logs</h1></center><u>Revision</u>: 14f7beeeac9f8f8f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2014
         (15:25:46 UTC)
      <br><p style="margin:0.4em">Added missing requires clauses</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 612653f5dbcf1e22<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2014
         (14:56:01 UTC)
      <br><p style="margin:0.4em">Fixed bug in evaluate_detectors() and added unit tests.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6cdb057c61c50b1f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2014
         (14:46:13 UTC)
      <br><p style="margin:0.4em">Added evaluate_detectors() to make it easy to run a bunch of HOG detectors
efficiently, even when their window sizes differ.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f8d9a56a3deb6fa9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2014
         (14:22:55 UTC)
      <br><p style="margin:0.4em">Refactored a bit of the object_detector interface.  Also fixed a bug in the
non-max suppression code that I introduced a few commits ago.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 390a6d2230adf8bf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 24, 2014
         (08:27:20 UTC)
      <br><p style="margin:0.4em">Improved non-max-suppression for detectors with multiple sub-detectors packed
into them.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div></div><hr class="fullhr"><u>Revision</u>: 7bf28d5225404480<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 23, 2014
         (18:03:55 UTC)
      <br><p style="margin:0.4em">Made set_prior() work with sparse vectors.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div><div id="row1">dlib/test/oca.cpp</div><div id="row2">dlib/test/svm_c_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: 61a6ece07460ff1d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 23, 2014
         (17:53:51 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the prior support related to sparse vector usage.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 0dad7eaf84bce19d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 23, 2014
         (17:52:01 UTC)
      <br><p style="margin:0.4em">Relaxed some excessively restrictive requires clauses.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div><div id="row1">dlib/matrix/matrix_utilities_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 42758e94aefa8096<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 23, 2014
         (15:07:32 UTC)
      <br><p style="margin:0.4em">Fixed set_prior() so it works with sparse vectors in addition to dense vectors.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_rank_trainer.h</div><div id="row1">dlib/test/ranking.cpp</div></div><hr class="fullhr"><u>Revision</u>: fde18d33b0c142a4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 23, 2014
         (14:35:49 UTC)
      <br><p style="margin:0.4em">Added unit tests for the svm_multiclass_linear with sparse priors</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm_multiclass_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: ceeb863b3b2e617e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 22, 2014
         (17:34:35 UTC)
      <br><p style="margin:0.4em">Fixed compile time bug</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 5061fdd1b431b4fe<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 22, 2014
         (16:19:02 UTC)
      <br><p style="margin:0.4em">Added another test</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/matrix.cpp</div></div><hr class="fullhr"><u>Revision</u>: a72e4ac8c26939d8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 22, 2014
         (16:17:21 UTC)
      <br><p style="margin:0.4em">Made it so you can write statements like mymat = m = 0;
That is, chain the = operator when using a literal assignment on
matrix objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix.h</div><div id="row1">dlib/test/matrix.cpp</div></div><hr class="fullhr"><u>Revision</u>: 30b951b666a2a9bb<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2014
         (17:56:04 UTC)
      <br><p style="margin:0.4em">Added unit test for the new dot() overloads.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/sparse_vector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6327c26242e3b516<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2014
         (17:48:04 UTC)
      <br><p style="margin:0.4em">Added unit tests for new serialization syntax.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/serialize.cpp</div></div><hr class="fullhr"><u>Revision</u>: 66ebdb63b96c8300<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2014
         (16:52:57 UTC)
      <br><p style="margin:0.4em">Made the requires checking for array::set_size() always stay on since it is not
going to be performance critical and is a common user error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array/array_kernel.h</div></div><hr class="fullhr"><u>Revision</u>: e85dcb870c7b7fe4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2014
         (16:51:11 UTC)
      <br><p style="margin:0.4em">Fixed incorrect requires clause on the cross_validate_trainer() and
cross_validate_trainer_threaded() routines.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div><div id="row2">dlib/svm/svm_threaded.h</div><div id="row1">dlib/svm/svm_threaded_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b6a4c87914fdf8bf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2014
         (-02:19:57 UTC)
      <br><p style="margin:0.4em">Changed code so that the proper error code is always returned even in the event
that closesocket() fails.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sockets/sockets_kernel_1.cpp</div></div><hr class="fullhr"><u>Revision</u>: d862afecf86457c5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 20, 2014
         (17:12:34 UTC)
      <br><p style="margin:0.4em">Fixed spelling error in comment.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sockets/sockets_kernel_2.cpp</div></div><hr class="fullhr"><u>Revision</u>: e3f06fb6e064b842<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2014
         (10:37:04 UTC)
      <br><p style="margin:0.4em">Changed the assign() function so that it no longer removes zeros from
dense vectors when assigning them to sparse vectors.  Also updated dot()
so that it is much faster when working with "sparse vectors" that are
the product of assigning a dense vector to a sparse vector.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sparse_vector.h</div></div><hr class="fullhr"><u>Revision</u>: ecbd1ac86cafb2b3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 16, 2014
         (15:36:01 UTC)
      <br><p style="margin:0.4em">Fixed a potential divide by zero in draw_fhog()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div></div><hr class="fullhr"><u>Revision</u>: dd0288c699d682b7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 08, 2014
         (16:40:22 UTC)
      <br><p style="margin:0.4em">Added a simplified operator &lt;&lt; and &gt;&gt; syntax for serializing to and from files.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/serialize.h</div></div><hr class="fullhr"><u>Revision</u>: b00a471b53bfde67<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (18:09:59 UTC)
      <br><p style="margin:0.4em">Added the option to set a prior to svm_rank_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_rank_trainer.h</div><div id="row1">dlib/svm/svm_rank_trainer_abstract.h</div><div id="row2">dlib/test/ranking.cpp</div></div><hr class="fullhr"><u>Revision</u>: e65a49a1b9ab753a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (17:32:50 UTC)
      <br><p style="margin:0.4em">Added missing assert</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 2badb5f6899e93cc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (17:32:38 UTC)
      <br><p style="margin:0.4em">Fixed grammar</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c5dd0ebceb841784<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (16:53:48 UTC)
      <br><p style="margin:0.4em">Fixed compiler errors in unit tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm_struct.cpp</div></div><hr class="fullhr"><u>Revision</u>: 65695ed6be50c7c1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (16:08:44 UTC)
      <br><p style="margin:0.4em">Fixed compile time error I just introduced.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: d0a366cfe4dd89f8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (16:01:20 UTC)
      <br><p style="margin:0.4em">Added the ability to set a prior to the svm_c_linear_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div><div id="row1">dlib/svm/svm_c_linear_trainer_abstract.h</div><div id="row2">dlib/test/svm_c_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: 7172005a4937851f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (15:45:57 UTC)
      <br><p style="margin:0.4em">Added overloads of mat() that convert a single scalar into a matrix.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_mat.h</div><div id="row1">dlib/matrix/matrix_mat_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 148793c1763dbad9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (15:21:58 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4c2b50d19f0cefe1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2014
         (15:14:38 UTC)
      <br><p style="margin:0.4em">Clarified spec and also slightly improved usability</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div><div id="row1">dlib/svm/svm_multiclass_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1db294f4e69272a4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 01, 2014
         (16:47:07 UTC)
      <br><p style="margin:0.4em">Added the ability to set a previously trained function as a prior to the
svm_multiclass_linear_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div><div id="row1">dlib/svm/svm_multiclass_linear_trainer_abstract.h</div><div id="row2">dlib/test/svm_multiclass_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0eb450520e893091<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 26, 2014
         (13:17:22 UTC)
      <br><p style="margin:0.4em">Just a few minor overloads and usability tweaks to the logger interface.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/logger/logger_kernel_1.h</div><div id="row1">dlib/logger/logger_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 410e9eb9e5ebcc43<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 26, 2014
         (11:35:45 UTC)
      <br><p style="margin:0.4em">Added locally_change_current_dir</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/misc_api.h</div><div id="row1">dlib/misc_api/misc_api_kernel_abstract.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/misc_api/misc_api_shared.h</div></div><hr class="fullhr"><u>Revision</u>: c121ed7e04dd6b22<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 26, 2014
         (09:10:09 UTC)
      <br><p style="margin:0.4em">Made the ODR rule violation error diagnostic clearer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/threads_kernel_shared.cpp</div><div id="row1">dlib/threads/threads_kernel_shared.h</div></div><hr class="fullhr"><u>Revision</u>: 9b49cd55cfe898ab<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 26, 2014
         (08:57:42 UTC)
      <br><p style="margin:0.4em">Added user settable loss to the structural_track_association_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/structural_track_association_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 47071c701fea6abf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 23, 2014
         (16:25:27 UTC)
      <br><p style="margin:0.4em">Slightly simplified the code</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: e11ad0889a8cd1af<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 23, 2014
         (15:41:37 UTC)
      <br><p style="margin:0.4em">Added operator+= to discriminant_pca.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/dpca.h</div><div id="row1">dlib/statistics/dpca_abstract.h</div><div id="row2">dlib/test/discriminant_pca.cpp</div></div><hr class="fullhr"><u>Revision</u>: a3f3d9b5e9b86ff7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 23, 2014
         (15:19:49 UTC)
      <br><p style="margin:0.4em">Improve error message generated when calling argument() incorrectly.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmd_line_parser/cmd_line_parser_kernel_1.h</div></div><hr class="fullhr"><u>Revision</u>: c72a3f001d37a958<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 23, 2014
         (15:09:24 UTC)
      <br><p style="margin:0.4em">fixed spelling errors</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/interfaces/cmd_line_parser_option.h</div></div><hr class="fullhr"><u>Revision</u>: 9e33b4c369c6d6d8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2014
         (17:18:31 UTC)
      <br><p style="margin:0.4em">Added user settable loss to the association trainer</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_assignment_trainer.h</div><div id="row1">dlib/svm/structural_assignment_trainer_abstract.h</div><div id="row2">dlib/svm/structural_svm_assignment_problem.h</div><div id="row1">dlib/svm/structural_svm_assignment_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 77f4321d7b5f88cc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2014
         (16:18:58 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_rank_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3308807ea377af67<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2014
         (16:52:26 UTC)
      <br><p style="margin:0.4em">Added a #define for _NO_W32_PSEUDO_MODIFIERS so that windows.h won't #define IN or OUT</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/windows_magic.h</div></div><hr class="fullhr"><u>Revision</u>: 3c097f560513b809<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2014
         (16:13:47 UTC)
      <br><p style="margin:0.4em">merged changes and updated abstract file.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/rvm.h</div><div id="row1">dlib/svm/rvm_abstract.h</div><div id="row2">examples/rvm_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: b8e8de0dc71bdf90<br><u>Author</u>: <a href="mailto:csaba.kertesz@gmail.com">Csaba Kertesz</a><br><u>Date</u>: Mar 16, 2014
         (13:19:19 UTC)
      <br><p style="margin:0.4em">Add maximal iterations option for relevance vector machine trainer</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/rvm.h</div><div id="row1">examples/rvm_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: 56d6aae8d8c25882<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2014
         (06:04:54 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/disjoint_subsets/disjoint_subsets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 50dccf05ad39bae4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 16, 2014
         (17:27:11 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler warning.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/draw.h</div></div><hr class="fullhr"><u>Revision</u>: 5073ec1b7c924c83<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 16, 2014
         (15:54:55 UTC)
      <br><p style="margin:0.4em">Added split_on_first() and split_on_last().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/string/string.h</div><div id="row1">dlib/string/string_abstract.h</div><div id="row2">dlib/test/string.cpp</div></div><hr class="fullhr"><u>Revision</u>: 434de92b54f370e2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2014
         (07:10:41 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/logger/logger_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 22446ff38555c1cf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 10, 2014
         (15:43:08 UTC)
      <br><p style="margin:0.4em">Made the point transformation objects default constructable and also
serializable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/geometry/point_transforms_abstract.h</div><div id="row2">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: bdc9ee65b87360a6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 05, 2014
         (14:56:50 UTC)
      <br><p style="margin:0.4em">Made the loss calculation more explicit.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_assignment_problem.h</div></div><hr class="fullhr"><u>Revision</u>: f558affe6d7c7af8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2014
         (15:49:24 UTC)
      <br><p style="margin:0.4em">fixed a typo in the spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4cd480e714851553<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 27, 2014
         (16:32:26 UTC)
      <br><p style="margin:0.4em">Changed oca code so the prior vector can be the same object as the w vector.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_oca.h</div></div><hr class="fullhr"><u>Revision</u>: be293a7c2f0d7cb0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 18, 2014
         (15:18:04 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler error from clang 3.4 on Mac OS X 10.9.
Thanks to Martin Fergie for reporting this problem.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sockets/sockets_kernel_1.h</div><div id="row1">dlib/sockets/sockets_kernel_2.h</div></div><hr class="fullhr"><u>Revision</u>: 61c6f9f510aae090<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2014
         (14:24:41 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the backtracking_line_search() function pointed out by
Ping-Chang Shih.  The function ignored the max_iter parameter.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_line_search.h</div></div><hr class="fullhr"><u>Revision</u>: d26119e550debf5b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2014
         (14:17:26 UTC)
      <br><p style="margin:0.4em">Fixed a bug pointed out by Daniel Girardeau-Montaut.  The covariance() function
didn't work on non-double valued matrices.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div></div><hr class="fullhr"><u>Revision</u>: 64a8e64d050b1c77<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2014
         (14:01:59 UTC)
      <br><p style="margin:0.4em">Made frobmetric_training_sample serializable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric.h</div><div id="row1">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b19967f2c81868a8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2014
         (14:00:44 UTC)
      <br><p style="margin:0.4em">Improved speed of reshape_to_column_vector()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div><div id="row1">dlib/test/matrix3.cpp</div></div><hr class="fullhr"><u>Revision</u>: e7b86f7c65a670dd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 08, 2014
         (16:41:21 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a warning from visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/learning_to_track.cpp</div></div><hr class="fullhr"><u>Revision</u>: b9714ef6bab36c7e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 08, 2014
         (16:41:04 UTC)
      <br><p style="margin:0.4em">Renamed a variable to avoid a name clash with a #define in Cygwin</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: e08c124ecd9643bb<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 08, 2014
         (16:40:20 UTC)
      <br><p style="margin:0.4em">Updated cmake file so the compiled python API file has the correct extension.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 51ec3c890c196aca<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 08, 2014
         (09:58:57 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: cee0435f8f01d9cd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2013
         (04:44:22 UTC)
      <br><p style="margin:0.4em">Minor changes to avoid compiler warnings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div><div id="row1">dlib/test/learning_to_track.cpp</div></div><hr class="fullhr"><u>Revision</u>: 19bf692ded62013b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 07, 2014
         (15:23:40 UTC)
      <br><p style="margin:0.4em">Changed code slightly so that calling identity_matrix&lt;double&gt;(a_matrix) results
in a compile time error rather than a confusing runtime error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div></div><hr class="fullhr"><u>Revision</u>: 7a2396f7acbdb81c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 06, 2014
         (17:14:44 UTC)
      <br><p style="margin:0.4em">Gave scan_fhog_pyramid an optional template argument that lets you
define a custom version of HOG feature extraction.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f964581c815e1889<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 06, 2014
         (17:11:56 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d9ff015825c7a454<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 05, 2014
         (16:29:02 UTC)
      <br><p style="margin:0.4em">Slightly tweaked some parameters to avoid accidentally triggering the "PSI
isn't being computed correctly" debugging check inside the structural SVM
solver.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 2adbfbc70f13dc50<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2014
         (17:36:26 UTC)
      <br><p style="margin:0.4em">Added more pyramid point transform unit tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/pyramid_down.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6e9149a346a2e81f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2014
         (13:43:33 UTC)
      <br><p style="margin:0.4em">Made mat() correctly convert std::vector&lt;bool&gt; objects to matrices.
Previously, the elements of the vector were returned by reference which is
problematic for std::vector&lt;bool&gt;</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_mat.h</div></div><hr class="fullhr"><u>Revision</u>: 790b6354c7599f79<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2014
         (13:29:00 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/projection_hash_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e021eccfc243abe7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2014
         (16:39:10 UTC)
      <br><p style="margin:0.4em">Made the add_python_module cmake file look in more folders for boost when compiled
on windows.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 35b579be057b285e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 26, 2014
         (16:05:39 UTC)
      <br><p style="margin:0.4em">Made labeled_detection serializable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4e9671d3291517fd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 24, 2014
         (13:18:34 UTC)
      <br><p style="margin:0.4em">Lowered default stopping epsilon</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_assignment_trainer.h</div><div id="row1">dlib/svm/structural_assignment_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7490a66fdde31bda<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 23, 2014
         (09:25:43 UTC)
      <br><p style="margin:0.4em">Added another python utility.  This one deserializes objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/python/boost_python_utils.h</div></div><hr class="fullhr"><u>Revision</u>: 134a1c2ad2e21689<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 23, 2014
         (07:24:54 UTC)
      <br><p style="margin:0.4em">Made wrap_string() a little simpler to use.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/string/string.h</div><div id="row1">dlib/string/string_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 538c52b421247d12<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 23, 2014
         (05:21:53 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1058ad4639bf4f2d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (12:35:48 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1a50ca1bcd26d876<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (12:32:14 UTC)
      <br><p style="margin:0.4em">Added comments to config.h about what other #defines you should set when
building dlib as a shared library.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/config.h</div></div><hr class="fullhr"><u>Revision</u>: 23a6757db3ceb3c1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (12:31:53 UTC)
      <br><p style="margin:0.4em">Fixed cmake file so that the "use fftw" option actually causes the
build to use fftw.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div></div><hr class="fullhr"><u>Revision</u>: 264d89a4e3e0f186<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (12:31:25 UTC)
      <br><p style="margin:0.4em">Fixed compile time error that triggered when trying to link with fftw</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_fft.h</div></div><hr class="fullhr"><u>Revision</u>: 118d28d0bd1fa29d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (11:47:31 UTC)
      <br><p style="margin:0.4em">Added unit tests for the new learning-to-track stuff.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/CMakeLists.txt</div><div id="row1">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/test/learning_to_track.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0954bea7c07b80fc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (08:37:58 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 758cbe6a8f790e36<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (08:06:41 UTC)
      <br><p style="margin:0.4em">Made the track association testing functions smarter about how they evaluate
the quality of a track association function.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 68af39e89cfe3612<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (08:04:44 UTC)
      <br><p style="margin:0.4em">Fixed a bug in randomize_samples().  It forced each element of the input arrays
to move to a new position but was random amongst all permutations with such
moves.  However, this isn't really fully random so this function has been fixed
so it does exactly what the spec says it should.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div></div><hr class="fullhr"><u>Revision</u>: 6007664ca587ba14<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 22, 2014
         (08:03:14 UTC)
      <br><p style="margin:0.4em">Made test a little more numerically robust.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/one_vs_one_trainer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 328e286ac0586b2b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (17:39:32 UTC)
      <br><p style="margin:0.4em">Fixed compile time error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 0a50c59986c6e4f4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (17:22:44 UTC)
      <br><p style="margin:0.4em">Lowered the default stopping epsilon.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/structural_track_association_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 51f83800e528ba82<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (17:14:42 UTC)
      <br><p style="margin:0.4em">Just renamed variables and simplified a few things.  No real changes.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div><div id="row1">dlib/svm/cross_validate_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/structural_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: ec9d52dc9eeb6bf1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (16:13:41 UTC)
      <br><p style="margin:0.4em">Added a bias term to the assignment_function's model so the user doesn't need
to remember, or even understand, that they should add it themselves.  However,
this change breaks backwards compatibility with the previous serialization
format for assignment_function objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/assignment_function.h</div><div id="row1">dlib/svm/assignment_function_abstract.h</div><div id="row2">dlib/svm/structural_assignment_trainer.h</div><div id="row1">dlib/svm/structural_svm_assignment_problem.h</div><div id="row2">dlib/svm/structural_svm_assignment_problem_abstract.h</div><div id="row1">dlib/test/assignment_learning.cpp</div></div><hr class="fullhr"><u>Revision</u>: f0624b8d7930e5da<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (14:59:34 UTC)
      <br><p style="margin:0.4em">Added a few more BLAS binding tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/blas_bindings/blas_bindings_dot.cpp</div></div><hr class="fullhr"><u>Revision</u>: f3368c091b949665<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (14:40:17 UTC)
      <br><p style="margin:0.4em">Added a guarantee that tracks won't be asked for their feature vector until
they are updated at least once with a detection.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1fdf61ce3a91e0f7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (14:11:42 UTC)
      <br><p style="margin:0.4em">Clarified spec again</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 24e30faf48090284<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 20, 2014
         (13:45:29 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7293ae1deafaed3c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 19, 2014
         (17:27:34 UTC)
      <br><p style="margin:0.4em">Fleshed out the spec for the new track association stuff.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div><div id="row1">dlib/svm/cross_validate_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/structural_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e7b95a37c4ca6ab5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 17, 2014
         (17:23:11 UTC)
      <br><p style="margin:0.4em">Added initial version of the learning-to-track interface to the association learning
tools.  So this adds the track_association_function and structural_track_association_trainer
objects and also test_track_association_function() and cross_validate_track_association_trainer()
routines.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div><div id="row1">dlib/svm_threaded.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/svm/cross_validate_track_association_trainer.h</div><div id="row1">dlib/svm/cross_validate_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/structural_track_association_trainer.h</div><div id="row1">dlib/svm/structural_track_association_trainer_abstract.h</div><div id="row2">dlib/svm/track_association_function.h</div><div id="row1">dlib/svm/track_association_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 749b86459b9f0dd7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 17, 2014
         (04:56:51 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/mlp/mlp_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4661204c689cfbe1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 15, 2014
         (15:11:04 UTC)
      <br><p style="margin:0.4em">Added is_track_association_problem()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 61bf2b2ed4577756<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 15, 2014
         (08:03:38 UTC)
      <br><p style="margin:0.4em">Simplified sum_filter_assign() interface.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5b9fb4226505ad08<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 14, 2014
         (18:57:24 UTC)
      <br><p style="margin:0.4em">Slightly changed #includes to avoid compiler error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div><div id="row1">dlib/svm_threaded.h</div></div><hr class="fullhr"><u>Revision</u>: dfd8fed2ec7a964e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 13, 2014
         (14:02:33 UTC)
      <br><p style="margin:0.4em">Disabled use of XIM for X11 windowing since it makes programs hang on some
systems.  This means the wide character input methods won't work on X11
systems.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_core/gui_core_kernel_2.cpp</div></div><hr class="fullhr"><u>Revision</u>: 95958e857ebf763f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 11, 2014
         (12:58:57 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1bc75d84164c336b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 10, 2014
         (15:49:15 UTC)
      <br><p style="margin:0.4em">Fixed weird rectangle highlighting behavior from previous commit.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.h</div></div><hr class="fullhr"><u>Revision</u>: 6a020b87ee4cd65e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 10, 2014
         (15:39:53 UTC)
      <br><p style="margin:0.4em">Now you can ctrl+left click on a rectangle in the image_display to change its
label.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div><div id="row1">dlib/gui_widgets/widgets.h</div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1cc259b408a9263e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 10, 2014
         (15:28:52 UTC)
      <br><p style="margin:0.4em">Fixed spelling errors in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/timer/timer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 585c2a268b539612<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 10, 2014
         (14:24:15 UTC)
      <br><p style="margin:0.4em">made test more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm_multiclass_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: e3545570e6e01182<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 10, 2014
         (13:31:52 UTC)
      <br><p style="margin:0.4em">Added another #include to avoid a compile time error on Mac OS X 10.9.1 with
gcc 4.8.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_2.h</div></div><hr class="fullhr"><u>Revision</u>: e4c102d2195635d5<br><u>Author</u>: <a href="mailto:Lukas">Lukas</a><br><u>Date</u>: Feb 10, 2014
         (15:19:46 UTC)
      <br><p style="margin:0.4em">Prevent static assert for set_size on gradient in compute_nuclear_norm_parts()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 519fa9f7f776e591<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 09, 2014
         (16:26:42 UTC)
      <br><p style="margin:0.4em">Added code to test the oca interface with a prior vector.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/oca.cpp</div></div><hr class="fullhr"><u>Revision</u>: 2cb71d1dbbf57f61<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 09, 2014
         (16:17:33 UTC)
      <br><p style="margin:0.4em">The oca solver now supports taking a user supplied prior vector.  That is,
it lets you use a regularizer like ||w-prior||^2 instead of the usual ||w||^2
regularizer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_oca.h</div><div id="row1">dlib/optimization/optimization_oca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 041573d020004349<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 09, 2014
         (13:51:30 UTC)
      <br><p style="margin:0.4em">Renamed one of the unit tests functions because it was often an
auto-completion based on ctags, which is annoying.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm.cpp</div></div><hr class="fullhr"><u>Revision</u>: d99a47677ddea891<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 09, 2014
         (07:56:13 UTC)
      <br><p style="margin:0.4em">Added tools for interfacing with python images.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/python.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/python/numpy_image.h</div></div><hr class="fullhr"><u>Revision</u>: 1eb0b15b9d4c5a97<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 09, 2014
         (05:25:59 UTC)
      <br><p style="margin:0.4em">A minor change to ensure the load() function can load objects
like the cv_image.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 4e6fb2fbfa351bd7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 08, 2014
         (12:48:33 UTC)
      <br><p style="margin:0.4em">Fixed compiler error in assert statement</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/rectangle.h</div></div><hr class="fullhr"><u>Revision</u>: 2a8a350b79588531<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 08, 2014
         (12:46:35 UTC)
      <br><p style="margin:0.4em">Clarified the spec for extract_image_chips() and also made it so the user can
explicitly specify the dimensions of the extracted chips.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 9520bb111a7709f0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 08, 2014
         (12:44:34 UTC)
      <br><p style="margin:0.4em">Added tile_images()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/draw.h</div><div id="row1">dlib/image_transforms/draw_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 564c2ee863a5e29c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 08, 2014
         (11:52:47 UTC)
      <br><p style="margin:0.4em">Added set_aspect_ratio()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/rectangle.h</div><div id="row1">dlib/geometry/rectangle_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 0585aed1c27c4eee<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 06, 2014
         (18:03:35 UTC)
      <br><p style="margin:0.4em">Added some functions for converting a numpy array into a pointer and its
dimensions.</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/python/numpy.h</div></div><hr class="fullhr"><u>Revision</u>: 7d2f93198a744145<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 03, 2014
         (15:34:38 UTC)
      <br><p style="margin:0.4em">Added code that will cause the user to get a linker error if they
violate the one definition rule with inconsistent assert enabling.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/threads_kernel_shared.cpp</div><div id="row1">dlib/threads/threads_kernel_shared.h</div></div><hr class="fullhr"><u>Revision</u>: 5ab454d77711d58c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 01, 2014
         (11:19:11 UTC)
      <br><p style="margin:0.4em">Gave pinv() an optional tolerance option.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_la.h</div><div id="row1">dlib/matrix/matrix_la_abstract.h</div><div id="row2">dlib/test/matrix.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6abba8a446dde6a7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 01, 2014
         (11:07:05 UTC)
      <br><p style="margin:0.4em">Fixed typo in assert that prevented it from compiling</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/kkmeans.h</div></div><hr class="fullhr"><u>Revision</u>: 23712cb477b304be<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 01, 2014
         (11:06:37 UTC)
      <br><p style="margin:0.4em">Fixed a compile time bug that happened with gcc when DEBUG was #defined
but not ENABLE_ASSERTS.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: dc9456766f09cec8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 28, 2014
         (16:27:21 UTC)
      <br><p style="margin:0.4em">The stopping condition for the svr_linear_trainer was too tight when
there were a lot of samples, causing it to take an excessive amount
of time to converge in some cases.  This fixes it.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svr_linear_trainer.h</div><div id="row1">dlib/test/svr_linear_trainer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 34f5a02eb11a5d47<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 27, 2014
         (12:56:19 UTC)
      <br><p style="margin:0.4em">Made the asserts that checks if the inputs to the optimization functions are
column vectors always enabled since violating this is a common user error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div></div><hr class="fullhr"><u>Revision</u>: 124ec98152fc5f17<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 26, 2014
         (14:51:10 UTC)
      <br><p style="margin:0.4em">Added another overload of extract_fhog_features().  This one returns the
features as a column vector but by reference instead of by value.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 9da6ebf44f6e88b4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 26, 2014
         (14:33:43 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 756547958d1b74d2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 26, 2014
         (14:24:39 UTC)
      <br><p style="margin:0.4em">Added add_image_rotations() and also made add_image_left_right_flips() work
with full_object_detection objects in addition to rectangles.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 91a44c594fc7d0bd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 26, 2014
         (11:42:10 UTC)
      <br><p style="margin:0.4em">Refactored the load_image_dataset() routines so they are easier to use and more
flexible.  This introduces a slight backwards incompatibility in that the
version that loads full_object_detection objects now returns an ignore
rectangle set instead of a parts name list.  But other than that the changes
are backwards compatible with previous version of dlib.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div><div id="row1">dlib/data_io/load_image_dataset_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 62f2baa01d2fad29<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 23, 2014
         (17:17:09 UTC)
      <br><p style="margin:0.4em">Added another constructor to object_detector that makes it easy to combine
multiple detectors together.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e29e01120438f213<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 19, 2014
         (16:06:27 UTC)
      <br><p style="margin:0.4em">Added a value_type typedef to the array object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array/array_kernel.h</div><div id="row1">dlib/array/array_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 6159d6e667d28bb2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 19, 2014
         (10:45:05 UTC)
      <br><p style="margin:0.4em">Minor code cleanup</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div></div><hr class="fullhr"><u>Revision</u>: b533669e21fc2004<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 19, 2014
         (07:40:54 UTC)
      <br><p style="margin:0.4em">Added an overload of pick_initial_centers() that uses the linear kernel when no
other kernel is specified by the user.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/kkmeans.h</div><div id="row1">dlib/svm/kkmeans_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: bdd5e8df2134f7a7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 19, 2014
         (06:32:31 UTC)
      <br><p style="margin:0.4em">Added nearest_center()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/kkmeans.h</div><div id="row1">dlib/svm/kkmeans_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c648719ee557e1a3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 12, 2014
         (09:15:19 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b8ab5b542788b04f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 12, 2014
         (08:37:15 UTC)
      <br><p style="margin:0.4em">Added an overload of extract_fhog_features() that returns a single column
vector represented using a matrix.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 094cf692f8df3389<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 12, 2014
         (08:20:35 UTC)
      <br><p style="margin:0.4em">Made dlib::array usable in C++11 range based for loops by adding
begin() and end() methods.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array/array_kernel.h</div><div id="row1">dlib/array/array_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 52b9e4a41042242b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (13:16:31 UTC)
      <br><p style="margin:0.4em">Made the box overlap testing stuff a little more robust to differences in floating
point behavior on different compilers.  In particular, this change avoids having
false "impossible truth box" exceptions being thrown when the object detection
tools are used with the mingw gcc compiler.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing.h</div></div><hr class="fullhr"><u>Revision</u>: e11233cc87df0fa3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (12:46:00 UTC)
      <br><p style="margin:0.4em">Fixed file load bug related to dealing with relative paths correctly.  The bug
prevented the load_image_dataset() routine from working on Windows systems in some
cases.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div></div><hr class="fullhr"><u>Revision</u>: 1aeace9f1948dace<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (12:14:15 UTC)
      <br><p style="margin:0.4em">Changed cmake settings so it doesn't try to use the intel MKL when using mingw.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: bb23a5b866f8b429<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (11:42:50 UTC)
      <br><p style="margin:0.4em">Another minor change to avoid warnings from visual studio</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/graph_cuts.cpp</div></div><hr class="fullhr"><u>Revision</u>: 8c5b3e283a30376b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (10:58:24 UTC)
      <br><p style="margin:0.4em">Added a cast to avoid a warning from visual studio 2013</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_utils/edge_list_graphs.h</div></div><hr class="fullhr"><u>Revision</u>: 0a101fb1782dd828<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 11, 2014
         (10:42:26 UTC)
      <br><p style="margin:0.4em">normalized line endings so visual studio won't complain.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/zlib/gzguts.h</div></div><hr class="fullhr"><u>Revision</u>: 3f0e1523a682b84e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 06, 2014
         (15:12:05 UTC)
      <br><p style="margin:0.4em">Added a version of draw_rectangle() that can draw directly onto an array2d.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/draw.h</div><div id="row1">dlib/image_transforms/draw_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e288170ba90ad1db<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 06, 2014
         (14:38:47 UTC)
      <br><p style="margin:0.4em">Fixed a typo</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: e3893db828598901<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 05, 2014
         (13:58:29 UTC)
      <br><p style="margin:0.4em">Made the CMakeLists.txt file build dlib by compiling its individual .cpp files
instead of compiling the all/source.cpp file since this results in smaller
binaries in many cases and also sometimes improves compilation speed.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div></div><hr class="fullhr"><u>Revision</u>: 6477bf8dec767f4c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 05, 2014
         (13:45:08 UTC)
      <br><p style="margin:0.4em">Fixed some #include problems so the library can be compiled by compiling its
individual .cpp files instead of the single large all/source.cpp file.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sockets/sockets_extensions.cpp</div><div id="row1">dlib/threads/multithreaded_object_extension.cpp</div><div id="row2">dlib/threads/multithreaded_object_extension.h</div><div id="row1">dlib/threads/rsignaler_extension.h</div><div id="row2">dlib/threads/thread_pool_extension.h</div><div id="row1">dlib/tokenizer/tokenizer_kernel_1.cpp</div></div><hr class="fullhr"><u>Revision</u>: 7e358ff614b1ba2d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 05, 2014
         (12:57:39 UTC)
      <br><p style="margin:0.4em">Made test a little more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: 28d27038a07859db<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 05, 2014
         (12:11:56 UTC)
      <br><p style="margin:0.4em">Made the stopping condition for the structural svm solver a little more robust.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 51f8ea15b68ebca9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 05, 2014
         (08:38:59 UTC)
      <br><p style="margin:0.4em">Made the SIMD options work with the Intel compiler</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: cc63059d44e5cc7c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 04, 2014
         (13:13:47 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the bigint object that caused division to sometimes produce
incorrect results.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/bigint/bigint_kernel_1.cpp</div><div id="row1">dlib/bigint/bigint_kernel_2.cpp</div><div id="row2">dlib/test/bigint.cpp</div></div><hr class="fullhr"><u>Revision</u>: 56d881385b512f65<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 04, 2014
         (05:08:09 UTC)
      <br><p style="margin:0.4em">suppressed more bogus warnings from gcc 4.8</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_assign_fwd.h</div></div><hr class="fullhr"><u>Revision</u>: 17d50531cdca611d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (16:14:48 UTC)
      <br><p style="margin:0.4em">When using visual studio, made cmake only show the supported SSE options.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: 8297d64a159d7168<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (14:57:59 UTC)
      <br><p style="margin:0.4em">Suppressed some spurious warnings from gcc 4.8</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_data_layout.h</div><div id="row1">dlib/test/optimization_test_functions.h</div></div><hr class="fullhr"><u>Revision</u>: 3cbeb8ba0fa137b9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (15:46:46 UTC)
      <br><p style="margin:0.4em">Improved the automatic selction of different SIMD instructions sets in visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div><div id="row1">dlib/simd/simd_check.h</div></div><hr class="fullhr"><u>Revision</u>: edf6b9e5b9c1e30f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (13:40:19 UTC)
      <br><p style="margin:0.4em">Added casts to avoid compiler warnings in visual studio 2013</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/libjpeg/jmemmgr.cpp</div></div><hr class="fullhr"><u>Revision</u>: bce55e5f3283e026<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (07:28:45 UTC)
      <br><p style="margin:0.4em">Made the cmake option for using SSE4 work with visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: cd40276c677e2d08<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (07:10:00 UTC)
      <br><p style="margin:0.4em">Made the default cmake settings enable SSE2 instructions when using Visual Studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: 355f5dab11b8f8fd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (07:01:03 UTC)
      <br><p style="margin:0.4em">Added cmake options to easily turn SSE/AVX instructions on/off</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: 7d5b348b45f547cf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 22, 2013
         (-01:47:10 UTC)
      <br><p style="margin:0.4em">Relaxed tests slightly to avoid false alarms.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0d729ef5d45ed288<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (04:41:53 UTC)
      <br><p style="margin:0.4em">fixed grammar</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 790fb5e87d930bd6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (04:32:39 UTC)
      <br><p style="margin:0.4em">A minor change to avoid compiler warnings from gcc 4.1.  It also makes the code
slightly faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div></div><hr class="fullhr"><u>Revision</u>: 6964496c6be9f368<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 02, 2014
         (04:22:10 UTC)
      <br><p style="margin:0.4em">Changed SIMD #includes so they work on older versions of gcc</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd_check.h</div></div><hr class="fullhr"><u>Revision</u>: 376a21b80e0a0776<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (17:58:02 UTC)
      <br><p style="margin:0.4em">updated specs</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer_abstract.h</div><div id="row1">dlib/svm/structural_svm_object_detection_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 42ed57efdb6b4a42<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (10:45:34 UTC)
      <br><p style="margin:0.4em">Changed the default stopping epsilon from 0.3 to 0.1.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div><div id="row1">dlib/svm/structural_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 652a2e71a230e499<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (10:03:53 UTC)
      <br><p style="margin:0.4em">Made the image_dataset_metadata::box constructable from a rectangle.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/image_dataset_metadata.h</div></div><hr class="fullhr"><u>Revision</u>: 53c33db106ab9ad2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (09:14:53 UTC)
      <br><p style="margin:0.4em">Made many of the mat() converters bind the resulting matrix expressions into
the BLAS bindings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_assign.h</div><div id="row1">dlib/matrix/matrix_blas_bindings.h</div><div id="row2">dlib/test/blas_bindings/blas_bindings_dot.cpp</div><div id="row1">dlib/test/blas_bindings/blas_bindings_gemm.cpp</div></div><hr class="fullhr"><u>Revision</u>: f0414b18588467d2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (08:59:58 UTC)
      <br><p style="margin:0.4em">Fixed compiler error due to missing )</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: 7e0a326ee908cc72<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jan 01, 2014
         (07:11:43 UTC)
      <br><p style="margin:0.4em">A minor change to avoid compiler errors when serializing mlp objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/mlp/mlp_kernel_1.h</div></div><hr class="fullhr"><u>Revision</u>: 22264a71556b9a59<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 27, 2013
         (12:29:40 UTC)
      <br><p style="margin:0.4em">Made directory and file printable with operator &lt;&lt;</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_1.h</div><div id="row1">dlib/dir_nav/dir_nav_kernel_2.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 642adc773d8be26d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 27, 2013
         (09:05:39 UTC)
      <br><p style="margin:0.4em">Added an angle field to image_dataset_metadata</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/image_dataset_metadata.cpp</div><div id="row1">dlib/data_io/image_dataset_metadata.h</div></div><hr class="fullhr"><u>Revision</u>: 68ece4c13644f8bf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 27, 2013
         (08:50:22 UTC)
      <br><p style="margin:0.4em">Added extract_image_chips()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 057700fa78fa44ed<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 27, 2013
         (06:59:12 UTC)
      <br><p style="margin:0.4em">Minor changes to avoid compiler warnings from gcc in some cases</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/assert.h</div><div id="row1">dlib/logger/logger_kernel_1.h</div><div id="row2">dlib/uintn.h</div></div><hr class="fullhr"><u>Revision</u>: 9546792a96052e93<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 27, 2013
         (06:58:48 UTC)
      <br><p style="margin:0.4em">Added std:: qualifiers to avoid compiler errors in some situations</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/bigint/bigint_kernel_2.cpp</div></div><hr class="fullhr"><u>Revision</u>: b7a22dad21adb038<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 25, 2013
         (02:21:13 UTC)
      <br><p style="margin:0.4em">A minor change to avoid compiler warnings from gcc</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: dd0920ba0666bea8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 23, 2013
         (11:25:46 UTC)
      <br><p style="margin:0.4em">- Made flip_image_left_right() return a point_transform_affine object that
  describes the exact transformation used.
- Fixed a bug in rotate_image(), it returned a point_transform_affine object
  that did the opposite of what the specification said it returns.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 44a9c6f12695f050<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 11, 2013
         (17:42:55 UTC)
      <br><p style="margin:0.4em">Added an overload of overlaps_any_box() that uses a default test_box_overlap
object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing.h</div><div id="row1">dlib/image_processing/box_overlap_testing_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d3b04fef18d755e4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 09, 2013
         (16:11:09 UTC)
      <br><p style="margin:0.4em">Added get_frontal_face_detector()</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/frontal_face_detector.h</div><div id="row1">dlib/image_processing/frontal_face_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c0981f323171b400<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 08, 2013
         (05:51:21 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b4f32d46f1f72789<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 08, 2013
         (05:50:13 UTC)
      <br><p style="margin:0.4em">Changed requires clause slightly to increase usability.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 2acd4397daf7a69d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 08, 2013
         (05:46:51 UTC)
      <br><p style="margin:0.4em">Added threshold_filter_singular_values()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7c66dc8bb487caa3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 07, 2013
         (06:52:07 UTC)
      <br><p style="margin:0.4em">Made the spatial filtering functions always center their filters over the
output pixel exactly the same way as defined by centered_rect().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_transforms/spatial_filtering.h</div><div id="row2">dlib/image_transforms/spatial_filtering_abstract.h</div><div id="row1">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: abfdfa9bb75abcde<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 06, 2013
         (14:48:40 UTC)
      <br><p style="margin:0.4em">fixed some typos</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f307c7650a99c4a5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 05, 2013
         (18:29:35 UTC)
      <br><p style="margin:0.4em">Another minor thing to avoid warnings from visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/zlib/gzguts.h</div></div><hr class="fullhr"><u>Revision</u>: 4be08365aee0913f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 04, 2013
         (16:07:18 UTC)
      <br><p style="margin:0.4em">Added missing #include (needed only to avoid gcc warnings)</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/zlib/gzguts.h</div></div><hr class="fullhr"><u>Revision</u>: de125919e39e6101<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 04, 2013
         (13:34:45 UTC)
      <br><p style="margin:0.4em">Minor changes to avoid conflicts and warnings in visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/libjpeg/jmorecfg.h</div><div id="row1">dlib/external/libpng/pngconf.h</div></div><hr class="fullhr"><u>Revision</u>: cf090531e6f6ffaa<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 04, 2013
         (13:30:08 UTC)
      <br><p style="margin:0.4em">Just removed some typedefs because they cause name conflicts in
visual studio 2010.  So I just replaced the uses of the typedef
with the actual type.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/libjpeg/jdapimin.cpp</div><div id="row1">dlib/external/libjpeg/jdapistd.cpp</div><div id="row2">dlib/external/libjpeg/jdatasrc.cpp</div><div id="row1">dlib/external/libjpeg/jdcoefct.cpp</div><div id="row2">dlib/external/libjpeg/jdcolor.cpp</div><div id="row1">dlib/external/libjpeg/jdct.h</div><div id="row2">dlib/external/libjpeg/jddctmgr.cpp</div><div id="row1">dlib/external/libjpeg/jdhuff.cpp</div><div id="row2">dlib/external/libjpeg/jdhuff.h</div><div id="row1">dlib/external/libjpeg/jdinput.cpp</div><div id="row2">dlib/external/libjpeg/jdmainct.cpp</div><div id="row1">dlib/external/libjpeg/jdmarker.cpp</div><div id="row2">dlib/external/libjpeg/jdmaster.cpp</div><div id="row1">dlib/external/libjpeg/jdmerge.cpp</div><div id="row2">dlib/external/libjpeg/jdphuff.cpp</div><div id="row1">dlib/external/libjpeg/jdpostct.cpp</div><div id="row2">dlib/external/libjpeg/jdsample.cpp</div><div id="row1">dlib/external/libjpeg/jerror.cpp</div><div id="row2">dlib/external/libjpeg/jidctflt.cpp</div><div id="row1">dlib/external/libjpeg/jidctfst.cpp</div><div id="row2">dlib/external/libjpeg/jidctint.cpp</div><div id="row1">dlib/external/libjpeg/jidctred.cpp</div><div id="row2">dlib/external/libjpeg/jmemmgr.cpp</div><div id="row1">dlib/external/libjpeg/jmorecfg.h</div><div id="row2">dlib/external/libjpeg/jpegint.h</div><div id="row1">dlib/external/libjpeg/jpeglib.h</div><div id="row2">dlib/external/libjpeg/jquant1.cpp</div><div id="row1">dlib/external/libjpeg/jquant2.cpp</div></div><hr class="fullhr"><u>Revision</u>: 8a91f5e1038dd8e2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 03, 2013
         (17:51:11 UTC)
      <br><p style="margin:0.4em">Just removed unused variable names to avoid warnings from gcc.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/external/libjpeg/jdatasrc.cpp</div><div id="row1">dlib/external/libjpeg/jdcoefct.cpp</div><div id="row2">dlib/external/libjpeg/jdcolor.cpp</div><div id="row1">dlib/external/libjpeg/jdmerge.cpp</div><div id="row2">dlib/external/libjpeg/jdpostct.cpp</div><div id="row1">dlib/external/libjpeg/jdsample.cpp</div><div id="row2">dlib/external/libjpeg/jmemnobs.cpp</div><div id="row1">dlib/external/libjpeg/jquant1.cpp</div><div id="row2">dlib/external/libjpeg/jquant2.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1bd04084d98c0c57<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 03, 2013
         (17:44:47 UTC)
      <br><p style="margin:0.4em">Added a copy of libpng and zlib that will be statically compiled in
if no dynamic version of these libraries are installed on the system.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/external/libpng/LICENSE</div><div id="row1">dlib/external/libpng/README</div><div id="row2">dlib/external/libpng/png.c</div><div id="row1">dlib/external/libpng/png.h</div><div id="row2">dlib/external/libpng/pngconf.h</div><div id="row1">dlib/external/libpng/pngdebug.h</div><div id="row2">dlib/external/libpng/pngerror.c</div><div id="row1">dlib/external/libpng/pngget.c</div><div id="row2">dlib/external/libpng/pnginfo.h</div><div id="row1">dlib/external/libpng/pnglibconf.h</div><div id="row2">dlib/external/libpng/pngmem.c</div><div id="row1">dlib/external/libpng/pngpread.c</div><div id="row2">dlib/external/libpng/pngpriv.h</div><div id="row1">dlib/external/libpng/pngread.c</div><div id="row2">dlib/external/libpng/pngrio.c</div><div id="row1">dlib/external/libpng/pngrtran.c</div><div id="row2">dlib/external/libpng/pngrutil.c</div><div id="row1">dlib/external/libpng/pngset.c</div><div id="row2">dlib/external/libpng/pngstruct.h</div><div id="row1">dlib/external/libpng/pngtrans.c</div><div id="row2">dlib/external/libpng/pngwio.c</div><div id="row1">dlib/external/libpng/pngwrite.c</div><div id="row2">dlib/external/libpng/pngwtran.c</div><div id="row1">dlib/external/libpng/pngwutil.c</div><div id="row2">dlib/external/zlib/README</div><div id="row1">dlib/external/zlib/adler32.c</div><div id="row2">dlib/external/zlib/compress.c</div><div id="row1">dlib/external/zlib/crc32.c</div><div id="row2">dlib/external/zlib/crc32.h</div><div id="row1">dlib/external/zlib/deflate.c</div><div id="row2">dlib/external/zlib/deflate.h</div><div id="row1">dlib/external/zlib/gzclose.c</div><div id="row2">dlib/external/zlib/gzguts.h</div><div id="row1">dlib/external/zlib/gzlib.c</div><div id="row2">dlib/external/zlib/gzread.c</div><div id="row1">dlib/external/zlib/gzwrite.c</div><div id="row2">dlib/external/zlib/infback.c</div><div id="row1">dlib/external/zlib/inffast.c</div><div id="row2">dlib/external/zlib/inffast.h</div><div id="row1">dlib/external/zlib/inffixed.h</div><div id="row2">dlib/external/zlib/inflate.c</div><div id="row1">dlib/external/zlib/inflate.h</div><div id="row2">dlib/external/zlib/inftrees.c</div><div id="row1">dlib/external/zlib/inftrees.h</div><div id="row2">dlib/external/zlib/trees.c</div><div id="row1">dlib/external/zlib/trees.h</div><div id="row2">dlib/external/zlib/uncompr.c</div><div id="row1">dlib/external/zlib/zconf.h</div><div id="row2">dlib/external/zlib/zlib.h</div><div id="row1">dlib/external/zlib/zutil.c</div><div id="row2">dlib/external/zlib/zutil.h</div></div><hr class="fullhr"><u>Revision</u>: 802eac3ab3b982d6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 03, 2013
         (17:24:14 UTC)
      <br><p style="margin:0.4em">Added a copy of libjpeg so that it can be statically compiled in when
cmake can't find a copy to dynamically link to.  This is especially
useful on windows where cmake never finds libjpeg.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/external/libjpeg/README</div><div id="row1">dlib/external/libjpeg/jcomapi.cpp</div><div id="row2">dlib/external/libjpeg/jconfig.h</div><div id="row1">dlib/external/libjpeg/jdapimin.cpp</div><div id="row2">dlib/external/libjpeg/jdapistd.cpp</div><div id="row1">dlib/external/libjpeg/jdatasrc.cpp</div><div id="row2">dlib/external/libjpeg/jdcoefct.cpp</div><div id="row1">dlib/external/libjpeg/jdcolor.cpp</div><div id="row2">dlib/external/libjpeg/jdct.h</div><div id="row1">dlib/external/libjpeg/jddctmgr.cpp</div><div id="row2">dlib/external/libjpeg/jdhuff.cpp</div><div id="row1">dlib/external/libjpeg/jdhuff.h</div><div id="row2">dlib/external/libjpeg/jdinput.cpp</div><div id="row1">dlib/external/libjpeg/jdmainct.cpp</div><div id="row2">dlib/external/libjpeg/jdmarker.cpp</div><div id="row1">dlib/external/libjpeg/jdmaster.cpp</div><div id="row2">dlib/external/libjpeg/jdmerge.cpp</div><div id="row1">dlib/external/libjpeg/jdphuff.cpp</div><div id="row2">dlib/external/libjpeg/jdpostct.cpp</div><div id="row1">dlib/external/libjpeg/jdsample.cpp</div><div id="row2">dlib/external/libjpeg/jerror.cpp</div><div id="row1">dlib/external/libjpeg/jerror.h</div><div id="row2">dlib/external/libjpeg/jidctflt.cpp</div><div id="row1">dlib/external/libjpeg/jidctfst.cpp</div><div id="row2">dlib/external/libjpeg/jidctint.cpp</div><div id="row1">dlib/external/libjpeg/jidctred.cpp</div><div id="row2">dlib/external/libjpeg/jinclude.h</div><div id="row1">dlib/external/libjpeg/jmemmgr.cpp</div><div id="row2">dlib/external/libjpeg/jmemnobs.cpp</div><div id="row1">dlib/external/libjpeg/jmemsys.h</div><div id="row2">dlib/external/libjpeg/jmorecfg.h</div><div id="row1">dlib/external/libjpeg/jpegint.h</div><div id="row2">dlib/external/libjpeg/jpeglib.h</div><div id="row1">dlib/external/libjpeg/jquant1.cpp</div><div id="row2">dlib/external/libjpeg/jquant2.cpp</div><div id="row1">dlib/external/libjpeg/jutils.cpp</div><div id="row2">dlib/external/libjpeg/jversion.h</div></div><hr class="fullhr"><u>Revision</u>: cf6ab8b9d7ea23bf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 01, 2013
         (12:17:50 UTC)
      <br><p style="margin:0.4em">Made the SIMD code automatically pick which kind of instructions to use when compiled
in visual studio based on the setting of the /arch compiler option.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd_check.h</div></div><hr class="fullhr"><u>Revision</u>: e8d055fae5a42554<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 01, 2013
         (11:27:14 UTC)
      <br><p style="margin:0.4em">Made all the simd functions explicitly inline because otherwise visual studio 2010
won't inline them.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div><div id="row1">dlib/simd/simd4i.h</div><div id="row2">dlib/simd/simd8f.h</div><div id="row1">dlib/simd/simd8i.h</div></div><hr class="fullhr"><u>Revision</u>: d739b9efb795d6b8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 01, 2013
         (10:55:48 UTC)
      <br><p style="margin:0.4em">Added convenience overloads of pyramid_up() that work in place.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 39d2054775c8e50d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Dec 01, 2013
         (10:15:14 UTC)
      <br><p style="margin:0.4em">Added flip_image_dataset_left_right(), upsample_image_dataset(), and
rotate_image_dataset().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d952f60f061f0cd6<br><u>Author</u>: <a href="mailto:davis@potato.localnet">davis</a><br><u>Date</u>: Dec 01, 2013
         (08:52:50 UTC)
      <br><p style="margin:0.4em">Some minor changes to avoid compiler errors in cygwin.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/float_details.h</div><div id="row1">dlib/statistics/vector_normalizer_frobmetric.h</div></div><hr class="fullhr"><u>Revision</u>: 5693377797e3a920<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 29, 2013
         (17:35:28 UTC)
      <br><p style="margin:0.4em">Made directory implicitly convertible to string.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_1.h</div><div id="row1">dlib/dir_nav/dir_nav_kernel_2.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 34d504b3403f1101<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 29, 2013
         (13:21:52 UTC)
      <br><p style="margin:0.4em">Made dlib::file implicitly convertible to std::string.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_1.h</div><div id="row1">dlib/dir_nav/dir_nav_kernel_2.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f4b522a41b7c9d46<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 29, 2013
         (12:05:38 UTC)
      <br><p style="margin:0.4em">Updated find_max_factor_graph_nmplp() to use the version of the algorithm from
the 2011 paper Introduction to dual decomposition for inference by David
Sontag, Amir Globerson, and Tommi Jaakkola since the original 2008 paper had an
error in the algorithm that negatively effected its convergence.  Thanks to
James Gunning for pointing this out.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/find_max_factor_graph_nmplp.h</div><div id="row1">dlib/optimization/find_max_factor_graph_nmplp_abstract.h</div><div id="row2">dlib/test/find_max_factor_graph_nmplp.cpp</div></div><hr class="fullhr"><u>Revision</u>: 753fba352b003cac<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 28, 2013
         (-03:51:00 UTC)
      <br><p style="margin:0.4em">Minor changes to avoid compiler errors in visual studio 2013</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/binary_search_tree/binary_search_tree_kernel_c.h</div><div id="row1">dlib/hash_table/hash_table_kernel_c.h</div><div id="row2">dlib/map/map_kernel_c.h</div><div id="row1">dlib/test/geometry.cpp</div><div id="row2">dlib/test/matrix3.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3bcc64a88e3572a7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (15:07:13 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the average precision calculation when ignore boxes were used.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: e4e514dd2364aa39<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (14:55:44 UTC)
      <br><p style="margin:0.4em">Simplified code slightly.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 466758af9f28e0e1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (14:34:04 UTC)
      <br><p style="margin:0.4em">Made num_separable_filters() work with multi-filter object detectors.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3374e51835de3312<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (10:48:02 UTC)
      <br><p style="margin:0.4em">Slightly changed code to reduce the number of memory allocations
made during object detection.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 673411884e727e19<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (10:47:32 UTC)
      <br><p style="margin:0.4em">Added float_spatially_filter_image_separable() to the public API.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: eb788258b9e114c9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (09:20:47 UTC)
      <br><p style="margin:0.4em">Added support for ignore rectangles into the object detection testing functions.  I also
changed the interfaces to these functions slightly.  Instead of taking a double that
determines how we decide if boxes match, they now take a test_box_overlap object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div><div id="row1">dlib/svm/cross_validate_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 37aee00946645335<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 23, 2013
         (06:49:45 UTC)
      <br><p style="margin:0.4em">Set a default value for the second argument of test_box_overlap's constructor.
Also added overlaps_any_box().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing.h</div><div id="row1">dlib/image_processing/box_overlap_testing_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 047db3b92a03e8c4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 22, 2013
         (15:07:12 UTC)
      <br><p style="margin:0.4em">Changed the default parameters of the test_box_overlap object.  Now it
defaults to using exactly the PASCAL VOC match criterion.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing.h</div><div id="row1">dlib/image_processing/box_overlap_testing_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b1bcc86f42106970<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 22, 2013
         (14:05:52 UTC)
      <br><p style="margin:0.4em">A minor change to avoid compiler warnings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: dfe4192fef912d82<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (18:20:23 UTC)
      <br><p style="margin:0.4em">Added an overload of add_image_left_right_flips() that can take two sets of
rectangles instead of just one.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: ff3d22c6fbd67f7e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (18:14:18 UTC)
      <br><p style="margin:0.4em">Added the option to tell the optimizer there are "ignorable" rectangles
in each image.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div><div id="row1">dlib/svm/structural_object_detection_trainer_abstract.h</div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div><div id="row1">dlib/svm/structural_svm_object_detection_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: dce9ad48d6cf341b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (17:15:36 UTC)
      <br><p style="margin:0.4em">Upgraded load_image_dataset() so that it returns the list of ignored
rectangles.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div><div id="row1">dlib/data_io/load_image_dataset_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 835fcc620b85cbc4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (15:39:12 UTC)
      <br><p style="margin:0.4em">Added an ignore option to the image dataset metadata file format.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/image_dataset_metadata.cpp</div><div id="row1">dlib/data_io/image_dataset_metadata.h</div></div><hr class="fullhr"><u>Revision</u>: 74510960ba9426b0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (15:38:45 UTC)
      <br><p style="margin:0.4em">Added the option to draw crossed out rectangles onto the image_display widget.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div><div id="row1">dlib/gui_widgets/widgets.h</div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c806d21d0d8a121c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 21, 2013
         (14:45:17 UTC)
      <br><p style="margin:0.4em">Made the multiclass SVM work with label types other than basic integers and floats.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: fe3d1dd6e6f4370f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 20, 2013
         (15:29:26 UTC)
      <br><p style="margin:0.4em">Upgraded the object_detector.  Now it can store multiple weight vectors and hence
multiple object detectors.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f1ad98b50ace5c07<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 19, 2013
         (18:57:41 UTC)
      <br><p style="margin:0.4em">Fixed off by one bug in resize_image()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: 854ac31108d2451c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 18, 2013
         (16:39:58 UTC)
      <br><p style="margin:0.4em">removed cruft</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div></div><hr class="fullhr"><u>Revision</u>: 3fee313bfd99746d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 18, 2013
         (16:05:40 UTC)
      <br><p style="margin:0.4em">Changed code a bit so that the scan_fhog_pyramid can avoid constructing
the fhog_filterbank each time the detector executes.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 46403b72c2ef7a4e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (16:21:08 UTC)
      <br><p style="margin:0.4em">Fixed #include</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/data_io.cpp</div></div><hr class="fullhr"><u>Revision</u>: e422fcff21e6af11<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (14:29:10 UTC)
      <br><p style="margin:0.4em">merged</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 20ed62023f34056d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (09:45:52 UTC)
      <br><p style="margin:0.4em">Made the test for using the separable vs. non-separable filters scale
with the size of the filters being applied.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 92d6e0f6416a385a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (14:14:35 UTC)
      <br><p style="margin:0.4em">Made the one_vs_one_trainer and one_vs_all_trainer objects multithreaded
so they can run each binary trainer on a different core.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div><div id="row1">dlib/svm/cross_validate_multiclass_trainer.h</div><div id="row2">dlib/svm/one_vs_all_trainer.h</div><div id="row1">dlib/svm/one_vs_all_trainer_abstract.h</div><div id="row2">dlib/svm/one_vs_one_trainer.h</div><div id="row1">dlib/svm/one_vs_one_trainer_abstract.h</div><div id="row2">dlib/svm_threaded.h</div><div id="row1">dlib/test/one_vs_all_trainer.cpp</div><div id="row2">dlib/test/one_vs_one_trainer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3cafc38fce97d2ff<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (14:01:27 UTC)
      <br><p style="margin:0.4em">Made the probabilistic trainer adapter not hold onto the input trainer
by reference since this causes problems if the probabilistic adapter
is saved for later use.  Now it will simply hold the trainer by value.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div></div><hr class="fullhr"><u>Revision</u>: 3dbbc74215801369<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (11:25:34 UTC)
      <br><p style="margin:0.4em">Added the option to learn non-negative weights to the svm_multiclass_linear_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_multiclass_linear_trainer.h</div><div id="row1">dlib/svm/svm_multiclass_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b082dbad9e9e420b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (10:58:32 UTC)
      <br><p style="margin:0.4em">Made the svm_multiclass_linear_trainer threaded.  This also means you have to
#include dlib/svm_threaded.h instead of dlib/svm.h to get it now.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div><div id="row1">dlib/svm/svm_multiclass_linear_trainer.h</div><div id="row2">dlib/svm/svm_multiclass_linear_trainer_abstract.h</div><div id="row1">dlib/svm_threaded.h</div><div id="row2">dlib/test/svm_multiclass_linear.cpp</div><div id="row1">dlib/test/svm_struct.cpp</div></div><hr class="fullhr"><u>Revision</u>: 569326e944e34830<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (09:14:26 UTC)
      <br><p style="margin:0.4em">Added missing asserts</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 37f52384215c65d8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (10:05:41 UTC)
      <br><p style="margin:0.4em">Made the matrix sub expression operators work with any kind of
integer ranges rather than just long ranges.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_subexp.h</div><div id="row1">dlib/matrix/matrix_subexp_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8ad4f3738002d5dd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (09:01:47 UTC)
      <br><p style="margin:0.4em">Added unit tests for new scan_fhog_pyramid object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: a89499ffc36cfed5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (08:29:52 UTC)
      <br><p style="margin:0.4em">Added unit tests for new inv() functions for the point transformation objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: a4becdefec1e9c7a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 17, 2013
         (08:24:00 UTC)
      <br><p style="margin:0.4em">Added sign() for matrix objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_math_functions.h</div><div id="row1">dlib/matrix/matrix_math_functions_abstract.h</div><div id="row2">dlib/test/matrix3.cpp</div></div><hr class="fullhr"><u>Revision</u>: bb6fb7cb8a201866<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 15, 2013
         (15:18:10 UTC)
      <br><p style="margin:0.4em">relaxed PSI consistency test again.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 3c72f2eadd2ca537<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 15, 2013
         (15:17:57 UTC)
      <br><p style="margin:0.4em">Slightly simplified the code</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 1f29be600a603277<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 13, 2013
         (14:52:40 UTC)
      <br><p style="margin:0.4em">Made rotate_image() return a transformation object that defines the point mapping
between the input and output images.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e47932abd62d25f1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 13, 2013
         (14:50:15 UTC)
      <br><p style="margin:0.4em">Added inv() that invert point transformation functions.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/geometry/point_transforms_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f413e75ae8f20989<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 13, 2013
         (13:50:47 UTC)
      <br><p style="margin:0.4em">Fixed a compile time bug that could occur when wide character strings were
serialized.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/serialize.h</div></div><hr class="fullhr"><u>Revision</u>: 3c8e75d87a7b2c68<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (16:20:09 UTC)
      <br><p style="margin:0.4em">Increased the threshold for using separable filters.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 8178aac7ba158515<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (14:08:28 UTC)
      <br><p style="margin:0.4em">Made remove_unobtainable_rectangles() work on scan_fhog_pyramid.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles.h</div></div><hr class="fullhr"><u>Revision</u>: e6020d571a61663f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (12:48:48 UTC)
      <br><p style="margin:0.4em">Added missing requires clause to function.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: a12b352646c59050<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (12:46:50 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: ebd19ff9c9bcf98c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (12:35:00 UTC)
      <br><p style="margin:0.4em">Added scan_fhog_pyramid.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/scan_fhog_pyramid.h</div><div id="row1">dlib/image_processing/scan_fhog_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 0e88dd12611af98b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (-05:36:26 UTC)
      <br><p style="margin:0.4em">More stuff to avoid compiler errors in clang</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div><div id="row1">dlib/simd/simd8f.h</div></div><hr class="fullhr"><u>Revision</u>: 846e9a7dd79abb57<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (-05:30:25 UTC)
      <br><p style="margin:0.4em">Minor change to avoid compiler error in clang</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div></div><hr class="fullhr"><u>Revision</u>: 48cf5d52a701a93e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 11, 2013
         (-05:08:17 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler error in visual studio 2005</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div></div><hr class="fullhr"><u>Revision</u>: ad5c53b02c45954f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (18:49:42 UTC)
      <br><p style="margin:0.4em">Sped up the image filtering functions by switching them to use AVX
instructions when available.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div></div><hr class="fullhr"><u>Revision</u>: 684578fa05efc01d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (18:48:58 UTC)
      <br><p style="margin:0.4em">Fleshed out the AVX SIMD support</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd.h</div><div id="row1">dlib/simd/simd8f.h</div><div id="row2">dlib/simd/simd_check.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/simd/simd8i.h</div></div><hr class="fullhr"><u>Revision</u>: b6ca9c0d7232d9ca<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (17:03:26 UTC)
      <br><p style="margin:0.4em">Fixed bug in simd4i operator&gt;&gt;</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4i.h</div></div><hr class="fullhr"><u>Revision</u>: 4a42dc0106f8fe75<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (16:21:57 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler error when not using SSE instructions.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div><div id="row1">dlib/simd/simd4i.h</div></div><hr class="fullhr"><u>Revision</u>: 464a8f77a4581063<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (15:52:26 UTC)
      <br><p style="margin:0.4em">Made extract_fhog_features() and resize_image() a little faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: b1f618eb6a95fff6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (15:47:32 UTC)
      <br><p style="margin:0.4em">Fixed SSE detection macros to work properly with -msse3</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd_check.h</div></div><hr class="fullhr"><u>Revision</u>: 16424fc0167d7fab<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (09:00:35 UTC)
      <br><p style="margin:0.4em">Made extract_fhog_features() a little faster by adding more SIMD instructions.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div></div><hr class="fullhr"><u>Revision</u>: 12b7564fe17c62d7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (08:24:27 UTC)
      <br><p style="margin:0.4em">Made spatially_filter_image_separable() a little bit faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 5004671351d7f87f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (07:29:02 UTC)
      <br><p style="margin:0.4em">Made spatially_filter_image() use SIMD instructions when filtering float data.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d68a84401cd786d7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 10, 2013
         (06:48:22 UTC)
      <br><p style="margin:0.4em">Made spatially_filter_image_separable() use SIMD instructions when filtering
float data.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 509f0a98b94a8135<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 08, 2013
         (17:46:41 UTC)
      <br><p style="margin:0.4em">Increased the speed of resize_image() and the image pyramid functions by making
them use SIMD instructions.  Also changed the default interpolation method for
pyramid_up to bilinear interpolation and removed the levels option.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d79fdd4342c2c315<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 08, 2013
         (17:17:45 UTC)
      <br><p style="margin:0.4em">Added conversions from simd4f to simd4i.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4f.h</div></div><hr class="fullhr"><u>Revision</u>: a47df84716512726<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 08, 2013
         (13:08:34 UTC)
      <br><p style="margin:0.4em">fixed incorrect #include</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/simd/simd4i.h</div></div><hr class="fullhr"><u>Revision</u>: f9e752052829e3ff<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 07, 2013
         (16:42:23 UTC)
      <br><p style="margin:0.4em">Fixed the distributed version of the structural svm solver to work with the
recent changes to the core solver.  Also added support for the nuclear norm
regularization and cache refinement options.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_distributed.h</div><div id="row1">dlib/svm/structural_svm_distributed_abstract.h</div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 01736a96b2fc0b7b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 06, 2013
         (18:03:49 UTC)
      <br><p style="margin:0.4em">updated fhog unit tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/fhog.cpp</div></div><hr class="fullhr"><u>Revision</u>: 32c3a77e65d34fb7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 06, 2013
         (17:39:45 UTC)
      <br><p style="margin:0.4em">Made extract_fhog_features() faster by using simd instructions.  Also added an
option to zero pad the borders of the output to it's easier to filter.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4a0a85f0836cc5b6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (17:42:25 UTC)
      <br><p style="margin:0.4em">Fixed the new cache based epsilon feature so it actually prevents any calls to
the separation oracle once the cache based refinement starts.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: b999bdbbcea699dd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (15:14:52 UTC)
      <br><p style="margin:0.4em">Added initial version of simd objects.</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/simd.h</div><div id="row1">dlib/simd/simd4f.h</div><div id="row2">dlib/simd/simd4i.h</div><div id="row1">dlib/simd/simd8f.h</div><div id="row2">dlib/simd/simd_check.h</div></div><hr class="fullhr"><u>Revision</u>: 68d04a140d5976fd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (14:53:55 UTC)
      <br><p style="margin:0.4em">Added more filtering unit tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 9d8d29301d711177<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (13:10:30 UTC)
      <br><p style="margin:0.4em">Fixed a bug I just introduced which caused the filtering functions to not filter
the entire image.  Also added a bunch of unit tests to cover the new behavior of
the filtering functions.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 65435f6765481140<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (12:41:58 UTC)
      <br><p style="margin:0.4em">Upgraded spatial filtering routines to work with even sized filters.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 07d59e797a5869fc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (12:37:23 UTC)
      <br><p style="margin:0.4em">Added tests for new zero_border_pixels() overload.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6eb7e0fa64543fe2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 05, 2013
         (12:30:40 UTC)
      <br><p style="margin:0.4em">Added an overload of zero_border_pixels() that lets you give a rectangle as
input to define the non-border area.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/assign_image.h</div><div id="row1">dlib/image_transforms/assign_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3659c1aa416b2cbc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 02, 2013
         (14:44:10 UTC)
      <br><p style="margin:0.4em">Added std:: to some functions to avoid potential ambiguity.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/pixel.h</div></div><hr class="fullhr"><u>Revision</u>: e5f7ebe329a7dd59<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 02, 2013
         (12:56:42 UTC)
      <br><p style="margin:0.4em">Changed #includes to avoid unnecessary recompilation.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/base_widgets.h</div><div id="row1">dlib/gui_widgets/canvas_drawing.h</div></div><hr class="fullhr"><u>Revision</u>: 743ac007f055c8d0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 01, 2013
         (16:19:50 UTC)
      <br><p style="margin:0.4em">Added utility function that can be overloaded by image scanners that want to
use nuclear norm regularization in their parameter estimation.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: fcaae935b9f4d73f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 01, 2013
         (16:14:51 UTC)
      <br><p style="margin:0.4em">Added a nuclear norm regularization option to the structural svm solver.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div><div id="row1">dlib/svm/structural_svm_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 97d7c05f8bd84ecd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 01, 2013
         (13:37:21 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: bb20613b9fa25eca<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Nov 01, 2013
         (13:31:13 UTC)
      <br><p style="margin:0.4em">Added another draw_fhog() overload.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b3c61d2a41f60a00<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 31, 2013
         (19:00:07 UTC)
      <br><p style="margin:0.4em">Updated requires clause for the spatial filtering methods to note that you
can't use the add_to or use_abs options with color images.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: aa9d17cc9aa1d0d4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 31, 2013
         (18:16:46 UTC)
      <br><p style="margin:0.4em">Changed tests slightly to avoid a bug in gcc 4.8</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/queue.cpp</div><div id="row1">dlib/test/stack.cpp</div></div><hr class="fullhr"><u>Revision</u>: 039207d5aa7c3a0c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 31, 2013
         (19:28:44 UTC)
      <br><p style="margin:0.4em">More tweaks to fhog feature extraction that makes it a bit faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div></div><hr class="fullhr"><u>Revision</u>: 736497f873b4e339<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 31, 2013
         (18:46:50 UTC)
      <br><p style="margin:0.4em">Made the fhog code a little bit faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div></div><hr class="fullhr"><u>Revision</u>: e1aeb405daef4f33<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 31, 2013
         (17:36:44 UTC)
      <br><p style="margin:0.4em">Just fixes compiler warnings in gcc 4.8 and clang 3.4.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/assert.h</div><div id="row1">dlib/graph_cuts/min_cut.h</div><div id="row2">dlib/image_transforms/edge_detector.h</div><div id="row1">dlib/image_transforms/equalize_histogram.h</div><div id="row2">dlib/image_transforms/segment_image.h</div><div id="row1">dlib/matrix/matrix_assign.h</div><div id="row2">dlib/matrix/matrix_la.h</div><div id="row1">dlib/optimization/optimization_trust_region.h</div><div id="row2">dlib/svm.h</div><div id="row1">dlib/svm/cross_validate_multiclass_trainer.h</div><div id="row2">dlib/svm/cross_validate_regression_trainer.h</div><div id="row1">dlib/svm/feature_ranking.h</div><div id="row2">dlib/svm/krr_trainer.h</div><div id="row1">dlib/svm/pegasos.h</div><div id="row2">dlib/svm/rbf_network.h</div><div id="row1">dlib/svm/sort_basis_vectors.h</div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_threaded.h</div><div id="row2">dlib/test/cmd_line_parser.h</div><div id="row1">dlib/test/matrix2.cpp</div><div id="row2">dlib/test/matrix3.cpp</div><div id="row1">dlib/test/matrix4.cpp</div><div id="row2">dlib/test/opt_qp_solver.cpp</div><div id="row1">dlib/test/pipe.cpp</div><div id="row2">dlib/test/scan_image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 324467515a9f12f4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 26, 2013
         (05:23:33 UTC)
      <br><p style="margin:0.4em">Added more () to avoid a compiler error in gcc 4.7.1 on SUSE Linux.
Thanks to Volker Härtel for finding this.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/find_max_parse_cky.h</div></div><hr class="fullhr"><u>Revision</u>: 49105c58cdf37efd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 22, 2013
         (17:07:23 UTC)
      <br><p style="margin:0.4em">Refactored code slightly to avoid getting this warning from gcc when certain
optimizations are enabled "warning: assuming signed overflow does not occur
when assuming that (X + c) &lt; X is always false"</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_subexp.h</div></div><hr class="fullhr"><u>Revision</u>: 1c68f064db4083f5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 21, 2013
         (14:33:56 UTC)
      <br><p style="margin:0.4em">Tweaked the PSI validation test again</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: d8d3d5ec44314d88<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 20, 2013
         (07:04:32 UTC)
      <br><p style="margin:0.4em">Changed fhog coordinate transforms so that they are properly invertible.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div><div id="row2">dlib/test/fhog.cpp</div></div><hr class="fullhr"><u>Revision</u>: 7cc91977cadbae6e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 19, 2013
         (05:20:36 UTC)
      <br><p style="margin:0.4em">Slightly tweaked PSI validation test again</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 9b9dd81e0c38890c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 18, 2013
         (18:49:58 UTC)
      <br><p style="margin:0.4em">Added overloads of fhog_to_image() and image_to_fhog() that work on rectangles.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 544eaa604f6e6b2b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 18, 2013
         (18:46:25 UTC)
      <br><p style="margin:0.4em">Relaxed PSI vector consistency test to avoid false alarms.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 26c16180c1ab5608<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 17, 2013
         (16:24:11 UTC)
      <br><p style="margin:0.4em">Made the spatial filtering functions filter each color channel independently
rather than converting to HSI and filtering just the I channel.  Also, the
spatially_filter_image_separable_down() routine now only allows grayscale
output images.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 22a58768ba95f3e8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 16, 2013
         (15:15:26 UTC)
      <br><p style="margin:0.4em">fixed grammar in comment</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 4c5c1add1a4f2f6b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 09, 2013
         (15:59:29 UTC)
      <br><p style="margin:0.4em">Changed test slightly to avoid a false alarm</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/filtering.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3f637fc5ac235fd9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 08, 2013
         (03:20:53 UTC)
      <br><p style="margin:0.4em">Added more paths to search when looking for the Intel MKL on windows.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: bdba0d56813a90d1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 07, 2013
         (17:01:25 UTC)
      <br><p style="margin:0.4em">Reverted the changes from 4704356b676c.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/lapack/fortran_id.h</div><div id="row1">dlib/matrix/matrix_blas_bindings.h</div></div><hr class="fullhr"><u>Revision</u>: cdf1c40fbc1ff71f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 07, 2013
         (16:59:22 UTC)
      <br><p style="margin:0.4em">Fixed some issues with the cmake files for linking with 64bit intel mkl</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: 56db2e78b5208915<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 07, 2013
         (16:07:29 UTC)
      <br><p style="margin:0.4em">Setup cmake files to find the Intel MKL on windows and try to link with it if present.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: 4704356b676caf96<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 07, 2013
         (16:05:49 UTC)
      <br><p style="margin:0.4em">Fixed the BLAS and LAPACK bindings so they work with the 64bit version of the Intel MKL
when used on Windows.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/lapack/fortran_id.h</div><div id="row1">dlib/matrix/matrix_blas_bindings.h</div></div><hr class="fullhr"><u>Revision</u>: 72ec4bcd256d630c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 05, 2013
         (06:29:48 UTC)
      <br><p style="margin:0.4em">Made pyramid_down&lt;1&gt; equivalent to pyramid_disable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/image_pyramid.h</div><div id="row1">dlib/image_transforms/image_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e04a7c95a120d40d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 04, 2013
         (19:07:44 UTC)
      <br><p style="margin:0.4em">Added missing assert</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/function.h</div></div><hr class="fullhr"><u>Revision</u>: 64d89145601b61cd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 04, 2013
         (18:50:10 UTC)
      <br><p style="margin:0.4em">Added the ability to get the score in addition to the label out of the
one_vs_all_decision_function.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/one_vs_all_decision_function.h</div><div id="row1">dlib/svm/one_vs_all_decision_function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c38263073971ced0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 04, 2013
         (18:35:30 UTC)
      <br><p style="margin:0.4em">Added the ability to get the score in addition to the label out of the
multiclass_linear_decision_function.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/function.h</div><div id="row1">dlib/svm/function_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 2f549185bf3ae6e4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 04, 2013
         (18:14:33 UTC)
      <br><p style="margin:0.4em">Added compile time checks that make it so the user gets a much more informative
error message if they mistakenly use matrices that are not column vectors with
the general purpose optimizers.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_bobyqa.h</div><div id="row2">dlib/optimization/optimization_least_squares.h</div></div><hr class="fullhr"><u>Revision</u>: 71ce259fffd4c582<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 03, 2013
         (18:17:58 UTC)
      <br><p style="margin:0.4em">Fixed a bug in extract_fhog_features() that happened when very small
images were given.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/test/fhog.cpp</div></div><hr class="fullhr"><u>Revision</u>: b07924f03a577c37<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 03, 2013
         (17:36:51 UTC)
      <br><p style="margin:0.4em">Refactored the image pyramid code.  Now there is just one templated object,
pyramid_down and you give it the downsampling amount as a template argument.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/image_pyramid.h</div><div id="row1">dlib/image_transforms/image_pyramid_abstract.h</div><div id="row2">dlib/test/object_detector.cpp</div><div id="row1">dlib/test/pyramid_down.cpp</div><div id="row2">examples/object_detector_advanced_ex.cpp</div><div id="row1">examples/object_detector_ex.cpp</div><div id="row2">examples/train_object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 7adbbfd675a94eb4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 03, 2013
         (17:23:23 UTC)
      <br><p style="margin:0.4em">Made resize_image() overload a little more robust.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: 26c7c7aabf9e2f14<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 03, 2013
         (16:58:43 UTC)
      <br><p style="margin:0.4em">Added pyramid_down_generic</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/image_pyramid.h</div><div id="row1">dlib/image_transforms/image_pyramid_abstract.h</div><div id="row2">dlib/test/pyramid_down.cpp</div></div><hr class="fullhr"><u>Revision</u>: cc2ff3fe5996e323<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 03, 2013
         (16:57:22 UTC)
      <br><p style="margin:0.4em">Fixed some compile time errors in the new overload of resize_image().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: d929ec2347a18316<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (18:51:12 UTC)
      <br><p style="margin:0.4em">Added missing assert</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: f531f1b72c317ab0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (18:47:34 UTC)
      <br><p style="margin:0.4em">Made resize_image() use bilinear interpolation by default and also added
a special version of it that is optimized for this case.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 745978eda9f642f9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (17:48:00 UTC)
      <br><p style="margin:0.4em">Made color version of interpolate_bilinear faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: 7615451fc2c8dd82<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (17:45:08 UTC)
      <br><p style="margin:0.4em">Made interpolate_bilinear a little bit faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div></div><hr class="fullhr"><u>Revision</u>: 561077db61317bb0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (17:24:51 UTC)
      <br><p style="margin:0.4em">Slightly reduced the amount of blurring that happens in pyramid_down_5_4.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 2f2af3bbcfea8470<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (15:08:13 UTC)
      <br><p style="margin:0.4em">Added code to avoid another useless vistual studio warning.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div></div><hr class="fullhr"><u>Revision</u>: 56e1afa0a9b883e6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 02, 2013
         (13:57:48 UTC)
      <br><p style="margin:0.4em">Just renamed some variables to avoid a name conflict with a #define in vistual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric.h</div><div id="row1">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 93465866e5482155<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 01, 2013
         (16:25:59 UTC)
      <br><p style="margin:0.4em">Set a default value for the cell size on image_to_fhog() and fhog_to_image().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: a4c29da6ea8b1950<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 01, 2013
         (15:46:34 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 1808ed42ff5669b3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 01, 2013
         (15:38:50 UTC)
      <br><p style="margin:0.4em">Filled out spec for the FHOG feature extraction routines.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 36ea49d30cc3d679<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Oct 01, 2013
         (15:02:18 UTC)
      <br><p style="margin:0.4em">Added unit tests for FHOG feature extractor.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/CMakeLists.txt</div><div id="row1">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/test/fhog.cpp</div></div><hr class="fullhr"><u>Revision</u>: f0cb7332213325c0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 30, 2013
         (17:00:31 UTC)
      <br><p style="margin:0.4em">Made jet(), heatmap(), and randomly_color_image() work on matrix objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/colormaps.h</div><div id="row1">dlib/image_transforms/colormaps_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 27985961a2f3c807<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 29, 2013
         (18:51:42 UTC)
      <br><p style="margin:0.4em">Added a function for computing Felzenszwalb's 31 channel HOG image
representation.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_transforms/fhog.h</div><div id="row1">dlib/image_transforms/fhog_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 6ba8dc2247746a64<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 28, 2013
         (13:44:30 UTC)
      <br><p style="margin:0.4em">Simplified the implementation of the array2d object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array2d/array2d_kernel.h</div><div id="row1">dlib/array2d/array2d_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d32cca0e4e9cbf13<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 24, 2013
         (18:40:00 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 51ef1ab96d60e89e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 24, 2013
         (18:12:31 UTC)
      <br><p style="margin:0.4em">minor cleanup</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 28292d0303bd93e3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 24, 2013
         (18:04:34 UTC)
      <br><p style="margin:0.4em">Added unit tests for the vector_normalizer_frobmetric object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 80ad38c2d60ae66d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 24, 2013
         (18:04:11 UTC)
      <br><p style="margin:0.4em">Made the max iteration limit user settable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric.h</div><div id="row1">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 181c8870b860806e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 24, 2013
         (17:25:43 UTC)
      <br><p style="margin:0.4em">Added vector_normalizer_frobmetric</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/statistics/vector_normalizer_frobmetric.h</div><div id="row1">dlib/statistics/vector_normalizer_frobmetric_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5880301e5b2573d1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 23, 2013
         (18:59:41 UTC)
      <br><p style="margin:0.4em">Made find_min_box_constrained() and find_max_box_constrained() a little smarter
about how they schedule their initial step sizes.  In particular, they will try
to take step sizes that are similar to previously used sizes via a trust region
style scheduling.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div></div><hr class="fullhr"><u>Revision</u>: 9bf437efdef54381<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 23, 2013
         (18:53:08 UTC)
      <br><p style="margin:0.4em">Added another overload of poly_min_extrap() and also improved the speed of
backtracking_line_search() by making it use 3rd degree polynomial interpolation
after the first step.  Also made it more robust to alpha inputs with improper
signs.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_line_search.h</div><div id="row1">dlib/optimization/optimization_line_search_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8def57db38b77c65<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 23, 2013
         (13:26:30 UTC)
      <br><p style="margin:0.4em">Added comments referencing useful source material.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div></div><hr class="fullhr"><u>Revision</u>: 8286f940033468c1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 22, 2013
         (09:21:57 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: fceb1177a97f10ed<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 22, 2013
         (07:50:40 UTC)
      <br><p style="margin:0.4em">Tweaked find_min_box_constrained() so that the user can easily reuse
computations done in f() when computing der().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_abstract.h</div><div id="row1">dlib/optimization/optimization_line_search.h</div><div id="row2">dlib/optimization/optimization_line_search_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e1a22216ab2719a9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 22, 2013
         (06:19:42 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c2e85016c702568b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (17:02:18 UTC)
      <br><p style="margin:0.4em">fixed compiler warning</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/is_same_object.cpp</div></div><hr class="fullhr"><u>Revision</u>: e7d229615df39855<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (16:59:18 UTC)
      <br><p style="margin:0.4em">Added more tests for DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST and also fixed unit
tests so they work on older versions of visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/is_same_object.cpp</div></div><hr class="fullhr"><u>Revision</u>: 651b218499fac9cf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (15:43:12 UTC)
      <br><p style="margin:0.4em">Added versions of find_min_box_constrained() and find_max_box_constrained()
that allow you to easily set uniform upper and lower bounds.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_abstract.h</div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0374874e50bd27d9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (15:26:18 UTC)
      <br><p style="margin:0.4em">added more tests for find_min_box_constrained()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0bb3631d013bd27d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (11:12:36 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 33838551333faf03<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (11:04:28 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 51cd20fca5062acb<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (10:37:54 UTC)
      <br><p style="margin:0.4em">Removed a bunch of checks that prevented users from using references to
functions with the optimization code and forced the use of function pointers.
This was to avoid triggering a bug in gcc 4.0.  Since that compiler is no
longer officially supported by dlib I've removed these checks to increase
usability.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_bobyqa.h</div><div id="row2">dlib/optimization/optimization_line_search.h</div><div id="row1">dlib/optimization/optimization_search_strategies.h</div><div id="row2">dlib/optimization/optimization_search_strategies_abstract.h</div><div id="row1">dlib/test/least_squares.cpp</div><div id="row2">dlib/test/optimization.cpp</div><div id="row1">examples/least_squares_ex.cpp</div><div id="row2">examples/optimization_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: f8f54f1b8ecc6176<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (10:01:54 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 428efc604121edc6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (09:48:34 UTC)
      <br><p style="margin:0.4em">Made tests more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1f1ce9ed0cfdf42b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (09:31:06 UTC)
      <br><p style="margin:0.4em">Added find_max_box_constrained()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_abstract.h</div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: b7cc869094c5e7ad<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (09:11:50 UTC)
      <br><p style="margin:0.4em">Added find_min_box_constrained()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_abstract.h</div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: c61880f8b724b430<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 21, 2013
         (06:58:06 UTC)
      <br><p style="margin:0.4em">Added clamp_function() and backtracking_line_search()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_abstract.h</div><div id="row2">dlib/optimization/optimization_line_search.h</div><div id="row1">dlib/optimization/optimization_line_search_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: cc246a7012be5a23<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 14, 2013
         (19:48:13 UTC)
      <br><p style="margin:0.4em">Added an overload of clamp() that lets you use matrix valued lower/upper
bounds.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div><div id="row1">dlib/matrix/matrix_utilities_abstract.h</div><div id="row2">dlib/test/matrix2.cpp</div></div><hr class="fullhr"><u>Revision</u>: f38f1d61d4811f93<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 14, 2013
         (12:42:14 UTC)
      <br><p style="margin:0.4em">Added a version of poly_min_extrap() that uses a 2nd degree model.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization_line_search.h</div><div id="row1">dlib/optimization/optimization_line_search_abstract.h</div><div id="row2">dlib/test/optimization.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6fb5ade1e0814b35<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 13, 2013
         (18:41:53 UTC)
      <br><p style="margin:0.4em">Updated the interface to allow the user to set different loss values for
false alarming vs getting a correct detection.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_sequence_segmentation_trainer.h</div><div id="row1">dlib/svm/structural_sequence_segmentation_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: cc7601e5d03e66d3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 09, 2013
         (13:47:50 UTC)
      <br><p style="margin:0.4em">Made HTTP server parsing work when a query like "GET /" comes in that
is missing the HTTP/1.1 version field.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/server/server_http.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1ffd93705286860c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 08, 2013
         (13:57:29 UTC)
      <br><p style="margin:0.4em">Made the structural svm solver use its cache elements to try and mitigate the
errors made by an approximate separation oracle.  In particular, the solver
will now check the output of the separation oracle against the cache and if the
cache gives a better value, even when we would otherwise not use the cache, the
cache value is used.  Similarly, we can output the truth psi vector to avoid
outputting a psi with a negative risk.  All this stuff only happens when the
cache is enabled, if its disabled then the outputs of the separation oracle are
used without any kind of modification.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: e25e70652bce0c83<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 08, 2013
         (12:52:00 UTC)
      <br><p style="margin:0.4em">Cleaned up the scan_image_pyramid code a little and also made its estimation of
which detection template generated a detection slightly more accurate.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 46ecffa5979db06d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 06, 2013
         (07:06:00 UTC)
      <br><p style="margin:0.4em">Minor code cleanup and error message improvement.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/server/server_http.cpp</div></div><hr class="fullhr"><u>Revision</u>: 46c97ea888469d67<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 06, 2013
         (05:53:25 UTC)
      <br><p style="margin:0.4em">Slightly changed make_potts_grid_problem() so that it allows the user to give
two images with different pixel types rather than requiring the images to have
the same pixel types.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_cuts/find_max_factor_graph_potts.h</div><div id="row1">dlib/graph_cuts/find_max_factor_graph_potts_abstract.h</div><div id="row2">dlib/test/graph_cuts.cpp</div></div><hr class="fullhr"><u>Revision</u>: 72544f986585ab5f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 05, 2013
         (12:23:41 UTC)
      <br><p style="margin:0.4em">Improved determine_object_boxes().  It will now avoid selecting object boxes
that redundant with detection templates already in a scanner object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid_tools.h</div><div id="row1">dlib/image_processing/scan_image_pyramid_tools_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5eb9808821b99158<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 05, 2013
         (11:49:34 UTC)
      <br><p style="margin:0.4em">Removed old and unneeded ::kernel_2a typedef references.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/bridge/bridge.h</div><div id="row1">dlib/bsp/bsp.h</div></div><hr class="fullhr"><u>Revision</u>: 3b12e684bfeaba51<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 01, 2013
         (17:47:28 UTC)
      <br><p style="margin:0.4em">Tweaked the cutting plane cache threshold test slightly.  This method
reduces the separation oracle calls by about 10%.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 182a79eab346c3e6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 01, 2013
         (09:17:45 UTC)
      <br><p style="margin:0.4em">Removed cmake statement that is no longer needed.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: e0712f8ec3a7019e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 01, 2013
         (09:15:04 UTC)
      <br><p style="margin:0.4em">Moved python C++ utility headers into dlib/python and updated
#include statements to reflect this move.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">tools/python/src/basic.cpp</div><div id="row1">tools/python/src/cca.cpp</div><div id="row2">tools/python/src/decision_functions.cpp</div><div id="row1">tools/python/src/matrix.cpp</div><div id="row2">tools/python/src/other.cpp</div><div id="row1">tools/python/src/sequence_segmenter.cpp</div><div id="row2">tools/python/src/svm_c_trainer.cpp</div><div id="row1">tools/python/src/svm_rank_trainer.cpp</div><div id="row2">tools/python/src/svm_struct.cpp</div><div id="row1">tools/python/src/vector.cpp</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/python.h</div><div id="row1">dlib/python/boost_python_utils.h</div><div id="row2">dlib/python/pyassert.h</div><div id="row1">dlib/python/serialize_pickle.h</div></div><div id="logb"><div class="bsolid"><b><font color="red">Deleted</font></b></div><div id="row2">tools/python/src/boost_python_utils.h</div><div id="row1">tools/python/src/pyassert.h</div><div id="row2">tools/python/src/serialize_pickle.h</div></div><hr class="fullhr"><u>Revision</u>: f8f4d3e5a1cffbf8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 01, 2013
         (08:55:12 UTC)
      <br><p style="margin:0.4em">Updated projection_hash creation functions to allow user to supply
the random number generator that gets used.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/create_random_projection_hash.h</div><div id="row1">dlib/lsh/create_random_projection_hash_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: babfb32f15c6d926<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Sep 01, 2013
         (08:42:19 UTC)
      <br><p style="margin:0.4em">Made the PNG loader able to load in grayscale images with an alpha channel.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_loader/png_loader.cpp</div><div id="row1">dlib/image_loader/png_loader.h</div><div id="row2">dlib/image_loader/png_loader_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 97ad043619884f3e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 24, 2013
         (04:21:56 UTC)
      <br><p style="margin:0.4em">Changed structural SVM solver to only disable the cache after two successive
iterations of apparent convergence since this results in fewer separation
oracle calls overall.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 71890f44378bde3a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 23, 2013
         (05:36:28 UTC)
      <br><p style="margin:0.4em">Added add_image_left_right_flips()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/interpolation.h</div><div id="row1">dlib/image_transforms/interpolation_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4ff744656ba3c637<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 23, 2013
         (03:11:09 UTC)
      <br><p style="margin:0.4em">Added split_array()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array.h</div><div id="row1">dlib/test/array.cpp</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/array/array_tools.h</div><div id="row1">dlib/array/array_tools_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 9436bd42ea0a3d63<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 20, 2013
         (15:57:12 UTC)
      <br><p style="margin:0.4em">Changed python cmake file to work with older versions of boost.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 314bc3ef9c65be58<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 18, 2013
         (12:36:38 UTC)
      <br><p style="margin:0.4em">Minor code cleanup</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 2a4d3f94c86ab3f4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 18, 2013
         (11:37:05 UTC)
      <br><p style="margin:0.4em">Added remove_unobtainable_rectangles() for the scan_image_custom scanner.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles.h</div><div id="row1">dlib/image_processing/remove_unobtainable_rectangles_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f770d67bb7881047<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (18:02:13 UTC)
      <br><p style="margin:0.4em">Added scan_image_custom</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/scan_image_custom.h</div><div id="row1">dlib/image_processing/scan_image_custom_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: ab1e58f0f53fcfe7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (18:00:42 UTC)
      <br><p style="margin:0.4em">clarified specs</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes_abstract.h</div><div id="row1">dlib/image_processing/scan_image_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c4653d9ff184d95c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (15:31:22 UTC)
      <br><p style="margin:0.4em">Fixed typos in some error message strings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: c566cfe03e436e7c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (13:09:41 UTC)
      <br><p style="margin:0.4em">Slightly relaxed the tolerance on the test that the user supplied
feature extraction is correctly programmed to avoid false alarms.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 727e00e736be7230<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (12:42:53 UTC)
      <br><p style="margin:0.4em">Changed macro so it can be placed inside a class as well as at global scope
and in headers.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div></div><hr class="fullhr"><u>Revision</u>: 23c91e08ff3dde25<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (12:26:22 UTC)
      <br><p style="margin:0.4em">Added the DLIB_MAKE_HAS_MEMBER_FUNCTION_TEST() macro and switched some
code over to use it.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div><div id="row1">dlib/svm/sequence_labeler.h</div><div id="row2">dlib/test/is_same_object.cpp</div></div><hr class="fullhr"><u>Revision</u>: 42e2b95724e35d5b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 17, 2013
         (05:45:16 UTC)
      <br><p style="margin:0.4em">removed cruft</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: c824038f7b2fb9f9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 14, 2013
         (17:05:29 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the sequence_segmenter which could cause it to output detected
sequences that go slightly beyond the end of the input sequence.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: 6260ffc125515e8b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 11, 2013
         (09:21:12 UTC)
      <br><p style="margin:0.4em">Minor change to avoid doing unnecessary computations in certain cases.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles.h</div></div><hr class="fullhr"><u>Revision</u>: b29ee01de0b17a2b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 10, 2013
         (05:21:42 UTC)
      <br><p style="margin:0.4em">Minor changes to avoid warnings in visual studio 2005</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/image_loader/image_loader.h</div></div><hr class="fullhr"><u>Revision</u>: 10f743f8493c24b5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 09, 2013
         (07:22:03 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/max_cost_assignment_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3155a884a0b7c447<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 08, 2013
         (15:42:37 UTC)
      <br><p style="margin:0.4em">Made the unit tests also compile all the example programs</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/CMakeLists.txt</div></div><hr class="fullhr"><u>Revision</u>: 48d22e42381f969b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 08, 2013
         (06:31:32 UTC)
      <br><p style="margin:0.4em">Add checks into the vector_normalizer and vector_normalizer_pca objects
to detect users giving infinite and NaN values as inputs.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 92248b69bc22b41d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 08, 2013
         (06:20:38 UTC)
      <br><p style="margin:0.4em">Added some asserts into the optimization code to detect when the user
accidentally creates objective functions which output infinite or NaN values.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/optimization/optimization.h</div><div id="row1">dlib/optimization/optimization_trust_region.h</div></div><hr class="fullhr"><u>Revision</u>: 5257397696f533ea<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 08, 2013
         (06:04:05 UTC)
      <br><p style="margin:0.4em">Added is_finite() for matrix objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div><div id="row1">dlib/matrix/matrix_utilities.h</div><div id="row2">dlib/matrix/matrix_utilities_abstract.h</div><div id="row1">dlib/test/matrix.cpp</div></div><hr class="fullhr"><u>Revision</u>: 86dc35f152012b00<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 08, 2013
         (05:44:53 UTC)
      <br><p style="margin:0.4em">Added is_finite()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div></div><hr class="fullhr"><u>Revision</u>: 4d2c4237be04cf7e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 07, 2013
         (10:39:56 UTC)
      <br><p style="margin:0.4em">Minor change to avoid a compiler warning</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/server/server_http.h</div></div><hr class="fullhr"><u>Revision</u>: 444c2fb1984e67be<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 07, 2013
         (10:15:12 UTC)
      <br><p style="margin:0.4em">Added the option to disable overlay editing to the image_display.  Also made
the image_window not allow overlay editing.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div><div id="row1">dlib/gui_widgets/widgets.h</div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7a0620a2865f467d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 07, 2013
         (09:42:06 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the image_window which made it's behavior slightly weird
when a user drew rectangles on it.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div></div><hr class="fullhr"><u>Revision</u>: 2c7a979a8d1990b9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 07, 2013
         (09:08:20 UTC)
      <br><p style="margin:0.4em">Added Steven Van Ingelgem's patch to the HTTP server which makes
operations on HTTP headers case-insensitive.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/server/server_http.cpp</div><div id="row1">dlib/server/server_http.h</div><div id="row2">dlib/server/server_http_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 56acc82bcd889682<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 06, 2013
         (17:25:34 UTC)
      <br><p style="margin:0.4em">Changed all the structural SVM tools to use a default PSI cache size of 5.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_assignment_trainer.h</div><div id="row1">dlib/svm/structural_assignment_trainer_abstract.h</div><div id="row2">dlib/svm/structural_graph_labeling_trainer.h</div><div id="row1">dlib/svm/structural_graph_labeling_trainer_abstract.h</div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div><div id="row1">dlib/svm/structural_object_detection_trainer_abstract.h</div><div id="row2">dlib/svm/structural_sequence_labeling_trainer.h</div><div id="row1">dlib/svm/structural_sequence_labeling_trainer_abstract.h</div><div id="row2">dlib/svm/structural_svm_problem.h</div><div id="row1">dlib/svm/structural_svm_problem_abstract.h</div><div id="row2">dlib/test/assignment_learning.cpp</div></div><hr class="fullhr"><u>Revision</u>: a1d706316d4978b5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 06, 2013
         (17:25:07 UTC)
      <br><p style="margin:0.4em">Updated tests to work with current code</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 10fa2f2baf0f3031<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 06, 2013
         (-04:31:58 UTC)
      <br><p style="margin:0.4em">Added use_relative_feature_weights() and use_uniform_feature_weights()
functions to make it easy to configure image scanners that use the hashed_feature_image.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/setup_hashed_features.h</div><div id="row1">dlib/image_processing/setup_hashed_features_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 999cf94fe04ba7ba<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 06, 2013
         (-04:03:24 UTC)
      <br><p style="margin:0.4em">Added an option to weight the features from a hashed_feature_image
relative to the number of times they occur in an image.  I also set
the new default behavior to use this relative weighting and changed
the serialization format to accommodate this.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/hashed_feature_image.h</div><div id="row1">dlib/image_keypoint/hashed_feature_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c17fd536bd30410e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 05, 2013
         (19:50:51 UTC)
      <br><p style="margin:0.4em">Added get_feature_extractor() functions to the image scanners so the underlying
feature extractors can have their parameters queried.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_boxes_abstract.h</div><div id="row2">dlib/image_processing/scan_image_pyramid.h</div><div id="row1">dlib/image_processing/scan_image_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4da0517f76df04a7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 05, 2013
         (19:02:40 UTC)
      <br><p style="margin:0.4em">Removed cruft</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/binned_vector_feature_image.h</div></div><hr class="fullhr"><u>Revision</u>: cf317e3d7dab7b7c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Aug 05, 2013
         (10:48:33 UTC)
      <br><p style="margin:0.4em">Made spec slightly clearer</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5b354eb89741ad47<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 31, 2013
         (15:26:00 UTC)
      <br><p style="margin:0.4em">Clarified the error message you get when an impossible set of object
boxes is detected.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 5aeef54ad0470eaa<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 31, 2013
         (15:24:42 UTC)
      <br><p style="margin:0.4em">Fixed a bug in the object_detector testing code that caused the average
precision values to be slightly wrong.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 1d640940bcf6e310<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 26, 2013
         (17:54:12 UTC)
      <br><p style="margin:0.4em">Fully qualified the char_traits references to avoid name conflicts in
certain rare cases.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/string/string.h</div></div><hr class="fullhr"><u>Revision</u>: dd03be6425807520<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 25, 2013
         (30:37:36 UTC)
      <br><p style="margin:0.4em">Changed object detector testing functions to output average precision
instead of mean average precision.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div><div id="row1">dlib/svm/cross_validate_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d63ed589bf5f770b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 17, 2013
         (14:51:30 UTC)
      <br><p style="margin:0.4em">Fixed a bug in running_scalar_covariance that caused the covariance() and
correlation() methods to output the wrong answer if the covariance was
negative.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 95d1c0c7ed501ae5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 16, 2013
         (13:45:44 UTC)
      <br><p style="margin:0.4em">Changed unit test so it has the same behavior everywhere.  Previously, since
the order of function argument evaluation is not defined, the test had slightly
different results on different systems which could cause the tests to falsely
indicate failure.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/filtering.cpp</div></div><hr class="fullhr"><u>Revision</u>: ae97b1912530252e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 15, 2013
         (18:58:43 UTC)
      <br><p style="margin:0.4em">Changed cmake file so python libraries have the correct extension on mac systems.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: d647cb0635ec53d3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 15, 2013
         (04:01:07 UTC)
      <br><p style="margin:0.4em">fixed compile error in older gcc</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix.h</div></div><hr class="fullhr"><u>Revision</u>: 03d788a184b8eae4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 14, 2013
         (06:10:14 UTC)
      <br><p style="margin:0.4em">Improved the way the feature vector cache is used within the structural svm
solver.  This makes some things, such as the structural_object_detection_trainer,
significantly faster.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: cb780af8400baf20<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 12, 2013
         (16:26:28 UTC)
      <br><p style="margin:0.4em">slightly simplified code</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div></div><hr class="fullhr"><u>Revision</u>: 29d783e892f4dfc3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 12, 2013
         (16:26:18 UTC)
      <br><p style="margin:0.4em">Made the integral image swappable</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/integral_image.h</div><div id="row1">dlib/image_transforms/integral_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 35a79c85aa221bba<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 08, 2013
         (18:19:17 UTC)
      <br><p style="margin:0.4em">Added the csv io manipulator that lets you print a matrix in cvs format.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix.h</div></div><hr class="fullhr"><u>Revision</u>: b4489a28f311d500<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 07, 2013
         (10:59:42 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: db1dcb994cc4bd4a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jul 01, 2013
         (13:31:21 UTC)
      <br><p style="margin:0.4em">Added order_by_descending_distance()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_utils/sample_pair.h</div><div id="row1">dlib/graph_utils/sample_pair_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 34f302dd159919ca<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 23, 2013
         (10:58:51 UTC)
      <br><p style="margin:0.4em">Fixed typo in learn_platt_scaling().  The method wasn't using the exact prior
suggested by Platt's paper.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div></div><hr class="fullhr"><u>Revision</u>: 855606db829d6425<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 22, 2013
         (17:43:13 UTC)
      <br><p style="margin:0.4em">Changed code to avoid an unnecessary computation.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/function.h</div></div><hr class="fullhr"><u>Revision</u>: e220cbd8dd4c435f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 18, 2013
         (19:11:21 UTC)
      <br><p style="margin:0.4em">Upgraded the structural_svm_problem so that it collapses down excessively large
sparse vectors to avoid unnecessary RAM usage in this case.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_problem.h</div></div><hr class="fullhr"><u>Revision</u>: 0432824f57c586c6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 16, 2013
         (08:07:23 UTC)
      <br><p style="margin:0.4em">Slightly simplified the dir_nav interface</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_1.h</div><div id="row1">dlib/dir_nav/dir_nav_kernel_2.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4833264df837902d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (11:23:36 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: a3481be0101c7fdc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (11:20:32 UTC)
      <br><p style="margin:0.4em">removed print statement</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: c2d3d983a690e797<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (11:20:03 UTC)
      <br><p style="margin:0.4em">Made the running covariance objects work with sparse vectors.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3a2331e7426ff1cc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (09:44:40 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3a6623b24b69a18c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (09:37:26 UTC)
      <br><p style="margin:0.4em">Added tests and slight refinements</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 955021d3709ac6a4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 15, 2013
         (09:18:09 UTC)
      <br><p style="margin:0.4em">Added running_cross_covariance.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: fa3870446bcdd379<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 11, 2013
         (18:10:00 UTC)
      <br><p style="margin:0.4em">Gave the image_window the ability to tie the mouse and keyboard events together
such that it is possible for a user to listen for both simultaneously.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div><div id="row1">dlib/gui_widgets/widgets.h</div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 80fc08e20fae67c8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 11, 2013
         (16:05:54 UTC)
      <br><p style="margin:0.4em">Changed code to avoid compiler errors in some environments.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/threads_kernel_shared.cpp</div></div><hr class="fullhr"><u>Revision</u>: 379ec08ba4f81774<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 09, 2013
         (07:59:20 UTC)
      <br><p style="margin:0.4em">Improved the help messages cmake outputs to tell the user how to install
optional dependencies such as X11, BLAS, and LAPACK.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div><div id="row1">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: 03c22d239466fa9f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 03, 2013
         (17:20:26 UTC)
      <br><p style="margin:0.4em">Made split() work on char* strings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/string/string.h</div></div><hr class="fullhr"><u>Revision</u>: 4d40bef8d1aeb50d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 02, 2013
         (19:18:32 UTC)
      <br><p style="margin:0.4em">minor change to avoid compiler error in visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/numerical_integration.cpp</div></div><hr class="fullhr"><u>Revision</u>: 46376de72a05933d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (13:33:09 UTC)
      <br><p style="margin:0.4em">Changed the default behavior of heatmap() and jet() to use min(mat(img)) as the
lower bound instead of 0 for the case where you don't give any bounds at all.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/colormaps.h</div><div id="row1">dlib/image_transforms/colormaps_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 22eada7229154890<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (13:25:02 UTC)
      <br><p style="margin:0.4em">Relaxed some unnecessarily restrictive requires clauses.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div><div id="row1">dlib/svm/svm_c_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 0e91ff35dc9470a5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (10:30:36 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 76c04b6e908d7076<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (10:24:22 UTC)
      <br><p style="margin:0.4em">Made add_python_module add the tools/python/src folder to the include search
path.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 05142b285e7d9830<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (10:18:23 UTC)
      <br><p style="margin:0.4em">Added an openmode argument to the basic_utf8_ifstream.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/unicode/unicode.h</div><div id="row1">dlib/unicode/unicode_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 250947b12a580a1c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Jun 01, 2013
         (10:10:59 UTC)
      <br><p style="margin:0.4em">Minor change to avoid a compiler error in gcc 4.7</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/unicode/unicode.h</div></div><hr class="fullhr"><u>Revision</u>: a414f9db869ecd5b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2013
         (11:55:36 UTC)
      <br><p style="margin:0.4em">Made cmake copy the needed boost .dll files into the output directory when python
modules are built on windows.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: f6b45327d3ed4bfb<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2013
         (11:54:31 UTC)
      <br><p style="margin:0.4em">Disabled destruction of the global thread pool on program shutdown when using dlib
on MS Windows since this avoids a few program shutdown bugs when dlib us used as
part of a DLL.  For example, when creating python modules with threading the interpreter
sometimes hangs on program shutdown as a result of trying to destroy the global
thread pool.  Note that not destroying this resource on program shutdown is the
recommended approach according to Microsoft.
see http://blogs.msdn.com/b/oldnewthing/archive/2012/01/05/10253268.aspx</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/threads_kernel_shared.cpp</div><div id="row1">dlib/threads/threads_kernel_shared.h</div></div><hr class="fullhr"><u>Revision</u>: 8b6a2a5b8d29c9a5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 26, 2013
         (10:21:02 UTC)
      <br><p style="margin:0.4em">Starting to flesh out the python interface documentation a little more.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div><div id="row1">tools/python/CMakeLists.txt</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">python_examples/compile_dlib_python_module.bat</div><div id="row1">python_examples/sequence_segmenter.py</div></div><hr class="fullhr"><u>Revision</u>: 8f7210eb94a648ea<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 24, 2013
         (17:56:15 UTC)
      <br><p style="margin:0.4em">Added missing assert</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson.h</div></div><hr class="fullhr"><u>Revision</u>: c36bb0f4526a769b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 24, 2013
         (17:53:05 UTC)
      <br><p style="margin:0.4em">Added missing dlib namespace</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson.h</div><div id="row1">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 02b31252345ccffe<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 24, 2013
         (17:34:24 UTC)
      <br><p style="margin:0.4em">minor cleanup and formatting</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration.h</div><div id="row1">dlib/numerical_integration/integrate_function_adapt_simpson.h</div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div><div id="row1">examples/integrate_function_adapt_simp_ex.cpp</div></div><div id="logb"><div class="bsolid"><b><font color="red">Deleted</font></b></div><div id="row2">dlib/integrate_function_adapt_simpson.h</div><div id="row1">examples/adapt_simp.cpp</div></div><hr class="fullhr"><u>Revision</u>: 37a22177ad6a9981<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 24, 2013
         (17:16:50 UTC)
      <br><p style="margin:0.4em">merged</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numeric_constants.h</div><div id="row1">dlib/test/CMakeLists.txt</div><div id="row2">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/integrate_function_adapt_simpson.h</div><div id="row1">dlib/numerical_integration.h</div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson.h</div><div id="row1">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div><div id="row2">dlib/test/numerical_integration.cpp</div><div id="row1">examples/adapt_simp.cpp</div><div id="row2">examples/integrate_function_adapt_simp_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: 9e50118e73c5a26f<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 24, 2013
         (15:47:24 UTC)
      <br><p style="margin:0.4em">Adjusted accuracy on the fifth unit test.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/numerical_integration.cpp</div></div><hr class="fullhr"><u>Revision</u>: 23d6859022293718<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 24, 2013
         (15:33:22 UTC)
      <br><p style="margin:0.4em">Made changes to the tolerance stopping criteria in impl_adapt_simp_stop.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson.h</div></div><hr class="fullhr"><u>Revision</u>: a994fb83b6a78769<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 24, 2013
         (-03:02:20 UTC)
      <br><p style="margin:0.4em">Renamed numerical integration header to dlib/numerical_integration.h.  Changed relevant headers to include numerical_integration.h  Fixed documentation in integrate_function_adapt_simpson_abstract.h</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div><div id="row1">dlib/test/numerical_integration.cpp</div><div id="row2">examples/integrate_function_adapt_simp_ex.cpp</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/numerical_integration.h</div></div><hr class="fullhr"><u>Revision</u>: c193b086111599a7<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 22, 2013
         (18:36:33 UTC)
      <br><p style="margin:0.4em">Implemented a numerical quadrature method based on an adaptive
Simpson rule.  Added unit tests and supporting examples for this
function.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson.h</div><div id="row1">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div><div id="row2">dlib/test/CMakeLists.txt</div><div id="row1">dlib/test/makefile</div><div id="row2">dlib/test/numerical_integration.cpp</div><div id="row1">examples/integrate_function_adapt_simp_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: 9cf94e5e13e4a3c3<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 19, 2013
         (16:52:19 UTC)
      <br><p style="margin:0.4em">Implemented a numerical quadrature method based on an adaptive
Simpson rule.  Added unit tests and supporting examples for this
function.</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/integrate_function_adapt_simpson.h</div><div id="row1">dlib/numerical_integration/integrate_function_adapt_simpson.h</div><div id="row2">dlib/numerical_integration/integrate_function_adapt_simpson_abstract.h</div><div id="row1">dlib/test/numerical_integration.cpp</div><div id="row2">examples/integrate_function_adapt_simp_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: d31f44e2b7b23b17<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: May 04, 2013
         (15:39:57 UTC)
      <br><p style="margin:0.4em">Updated numeric_constants.h.  Added a first version of
a numerical integration method to /examples/adapt_simp.cpp</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/numeric_constants.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">examples/adapt_simp.cpp</div></div><hr class="fullhr"><u>Revision</u>: c1725b24100ff296<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 22, 2013
         (19:33:51 UTC)
      <br><p style="margin:0.4em">Fixed serialization bug</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: 1aee693e35d26738<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2013
         (16:20:10 UTC)
      <br><p style="margin:0.4em">Made cmake file a little more convenient when used in large projects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake</div></div><hr class="fullhr"><u>Revision</u>: 0f26f574ab8eba4b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 21, 2013
         (14:41:42 UTC)
      <br><p style="margin:0.4em">Fixed a segmentation fault in the eigenvalue_decomposition object
which could occur when NaN valued inputs were given.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_eigenvalue.h</div></div><hr class="fullhr"><u>Revision</u>: f9274763b6758053<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 20, 2013
         (15:37:43 UTC)
      <br><p style="margin:0.4em">Fixed a problem that caused the python interpreter to hang on program exit when
the dlib GUI was used.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_core/gui_core_kernel_1.cpp</div></div><hr class="fullhr"><u>Revision</u>: d7cc6faf5b69a299<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 19, 2013
         (16:30:33 UTC)
      <br><p style="margin:0.4em">Fixed some #include order problems I just introduced by making some of the
geometry components use the optimization tools.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/matrix/matrix_assign.h</div><div id="row2">dlib/matrix/matrix_default_mul.h</div><div id="row1">dlib/matrix/matrix_subexp_abstract.h</div><div id="row2">dlib/matrix/matrix_utilities_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c85bdab0ac8e2a23<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 19, 2013
         (16:16:57 UTC)
      <br><p style="margin:0.4em">Added point_transform_projective and find_projective_transform()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/geometry/point_transforms_abstract.h</div><div id="row2">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: ac9e6d3d304767f5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 19, 2013
         (14:14:02 UTC)
      <br><p style="margin:0.4em">In a recent commit I added per label bias features but forgot to exclude them
from the non-negative feature learning range.  This change fixes that.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div><div id="row1">dlib/svm/sequence_segmenter_abstract.h</div><div id="row2">dlib/test/sequence_segmenter.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1a79a7c1f3ae5f61<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (11:16:30 UTC)
      <br><p style="margin:0.4em">Added per label bias features.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div><div id="row1">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4ff648a33472a8f6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (11:01:29 UTC)
      <br><p style="margin:0.4em">Added additional validation to serialized sequence_segmenter objects.  This
should help catch the case where a user changes the feature extractor and then
tries to load an old model.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: b1453b122365ea5a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (08:16:45 UTC)
      <br><p style="margin:0.4em">Fixed some typos</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 0087453c15f8f6d8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (06:52:49 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 25b5cb5c2076f740<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (06:43:57 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4f35f7b58ca7222c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (06:25:08 UTC)
      <br><p style="margin:0.4em">Added global function versions of rectangle::intersect() and rectangle::area()
to make the overall rectangle API more uniform.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/rectangle.h</div><div id="row1">dlib/geometry/rectangle_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 12c2241d995bbc2e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (06:11:42 UTC)
      <br><p style="margin:0.4em">Added member functions to point_rotator and point_transform to allow
a user to read the state of these objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/geometry/point_transforms_abstract.h</div><div id="row2">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: 939a568642444e5e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (05:56:46 UTC)
      <br><p style="margin:0.4em">Made the interface to fft() and ifft() a little more flexible.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_fft.h</div><div id="row1">dlib/matrix/matrix_fft_abstract.h</div><div id="row2">dlib/test/fft.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1d21a258d7ff6d5f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 18, 2013
         (04:01:02 UTC)
      <br><p style="margin:0.4em">Fixed typos in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svr_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4e83c4e9c9b0a057<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 17, 2013
         (13:38:40 UTC)
      <br><p style="margin:0.4em">Minor change to avoid false alarms in unit test.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm_c_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: ceb94cf2d0f55af0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 15, 2013
         (16:52:59 UTC)
      <br><p style="margin:0.4em">minor change to avoid compiler error in visual studio 2005</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/sequence_segmenter.cpp</div></div><hr class="fullhr"><u>Revision</u>: 43ddfd7d1787fede<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 15, 2013
         (02:50:48 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 515efb669cf993ef<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 14, 2013
         (16:44:54 UTC)
      <br><p style="margin:0.4em">Made image saving routines work on matrix objects in addition to array2d
objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_saver/image_saver.h</div><div id="row1">dlib/image_saver/image_saver_abstract.h</div><div id="row2">dlib/image_saver/save_png.h</div><div id="row1">dlib/image_saver/save_png_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f80db3a35da0bcc9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 14, 2013
         (16:27:48 UTC)
      <br><p style="margin:0.4em">Slightly simplified the interfaces of jet() and heatmap().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/colormaps.h</div><div id="row1">dlib/image_transforms/colormaps_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7726b7201c882bc5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 14, 2013
         (16:21:06 UTC)
      <br><p style="margin:0.4em">Fixed a bug in hysteresis_threshold() that caused it to produce incorrect
outputs sometimes.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/thresholding.h</div></div><hr class="fullhr"><u>Revision</u>: 77a7b833cdbed541<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 14, 2013
         (16:15:46 UTC)
      <br><p style="margin:0.4em">Minor change to avoid compiler error in visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/timing.h</div></div><hr class="fullhr"><u>Revision</u>: e04b177191624208<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 14, 2013
         (16:12:00 UTC)
      <br><p style="margin:0.4em">Added an option to learn just non-negative weights.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div><div id="row1">dlib/svm/sequence_segmenter_abstract.h</div><div id="row2">dlib/test/sequence_segmenter.cpp</div></div><hr class="fullhr"><u>Revision</u>: f3b39ce20b02bc68<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 13, 2013
         (18:50:31 UTC)
      <br><p style="margin:0.4em">Made the sequence_segmenter work with both BIO and BILOU tagging models.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div><div id="row1">dlib/svm/sequence_segmenter_abstract.h</div><div id="row2">dlib/svm/structural_sequence_segmentation_trainer.h</div><div id="row1">dlib/test/sequence_segmenter.cpp</div></div><hr class="fullhr"><u>Revision</u>: 5cd17241616f0a24<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 13, 2013
         (15:33:11 UTC)
      <br><p style="margin:0.4em">Refined the definition of a sequence segmentation problem.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 40970cd3ec66e12c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 13, 2013
         (15:13:22 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d3ff1ff9b852457b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (15:29:15 UTC)
      <br><p style="margin:0.4em">Changed svm_c_linear_trainer stopping epsilon to something a little more
reasonable.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div><div id="row1">dlib/svm/svm_c_linear_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: bed0ad875e2a69a0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (14:05:32 UTC)
      <br><p style="margin:0.4em">Added unit tests for sequence segmentation tools.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/CMakeLists.txt</div><div id="row1">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/test/sequence_segmenter.cpp</div></div><hr class="fullhr"><u>Revision</u>: e81c0667206d6aac<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (14:05:14 UTC)
      <br><p style="margin:0.4em">Clarified spec.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b1d0efa58c3baec5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (13:58:33 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler warning</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: 89b3b631107751c8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (13:45:09 UTC)
      <br><p style="margin:0.4em">Added missing assert</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: 6061b692e305d327<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (13:44:41 UTC)
      <br><p style="margin:0.4em">Added more asserts and a version number to the serialization
format for sequence_segmenter objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div></div><hr class="fullhr"><u>Revision</u>: 368e3f1621e71007<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (13:06:57 UTC)
      <br><p style="margin:0.4em">Added structural_sequence_segmentation_trainer, test_sequence_segmenter(),
and cross_validate_sequence_segmenter()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/svm/cross_validate_sequence_segmenter.h</div><div id="row1">dlib/svm/cross_validate_sequence_segmenter_abstract.h</div><div id="row2">dlib/svm/structural_sequence_segmentation_trainer.h</div><div id="row1">dlib/svm/structural_sequence_segmentation_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 227393c6fedc6a28<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (12:19:36 UTC)
      <br><p style="margin:0.4em">Added is_sequence_segmentation_problem()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm.h</div><div id="row1">dlib/svm/svm_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 100ab38c35a15d1c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 12, 2013
         (06:19:06 UTC)
      <br><p style="margin:0.4em">Added the sequence_segmenter object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/svm/sequence_segmenter.h</div><div id="row1">dlib/svm/sequence_segmenter_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b1e75a761c78b202<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 09, 2013
         (19:11:19 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sequence_labeler_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f6093557d1fe71ab<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 09, 2013
         (16:42:58 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/assignment_function_abstract.h</div><div id="row1">dlib/svm/sequence_labeler_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 0aa70bd655309137<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2013
         (08:44:30 UTC)
      <br><p style="margin:0.4em">Added the svr_linear_trainer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm.h</div><div id="row1">dlib/test/CMakeLists.txt</div><div id="row2">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/svm/svr_linear_trainer.h</div><div id="row1">dlib/svm/svr_linear_trainer_abstract.h</div><div id="row2">dlib/test/svr_linear_trainer.cpp</div></div><hr class="fullhr"><u>Revision</u>: f1b7fba969e05c16<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 04, 2013
         (06:14:39 UTC)
      <br><p style="margin:0.4em">This is a minor change.  All it does is slightly change the stopping condition
used by the svm_c_linear_trainer so that the epsilon value is not implicitly
scaled by the C values given by the user.  This should make this object
slightly easier to use.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/svm_c_linear_trainer.h</div><div id="row1">dlib/svm/svm_c_linear_trainer_abstract.h</div><div id="row2">dlib/test/svm_c_linear.cpp</div></div><hr class="fullhr"><u>Revision</u>: 95544aeb42b3ed6c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: May 02, 2013
         (15:57:53 UTC)
      <br><p style="margin:0.4em">Changed test_ranking_function() and cross_validate_ranking_trainer() slightly
to avoid a run time error in gcc 4.7.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/ranking_tools.h</div><div id="row1">dlib/test/ranking.cpp</div></div><hr class="fullhr"><u>Revision</u>: 4c5e42cf3d2769a5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 29, 2013
         (14:57:37 UTC)
      <br><p style="margin:0.4em">Fixed incorrect search paths on windows.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 99d789ab6cbc8572<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 28, 2013
         (13:55:56 UTC)
      <br><p style="margin:0.4em">Fixed cmake build problem on windows</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: e342086f26475aed<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 28, 2013
         (11:44:01 UTC)
      <br><p style="margin:0.4em">Fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/sparse_vector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: b1c21984e391a3e1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 27, 2013
         (04:34:47 UTC)
      <br><p style="margin:0.4em">Added cmake script to simplify making python modules</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/add_python_module</div></div><hr class="fullhr"><u>Revision</u>: 71c5a113fae085fe<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 26, 2013
         (19:59:56 UTC)
      <br><p style="margin:0.4em">Improved how we try to link against the Intel MKL.  In particular, this change
avoids a runtime linking error bug in the MKL that happens when you make
a shared library and try to use it from python.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/cmake_find_blas.txt</div></div><hr class="fullhr"><u>Revision</u>: c019a101de1f4bf1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 23, 2013
         (18:23:31 UTC)
      <br><p style="margin:0.4em">Added the jet color scheme.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/colormaps.h</div><div id="row1">dlib/image_transforms/colormaps_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: de263bd42ff72a70<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2013
         (17:06:05 UTC)
      <br><p style="margin:0.4em">Changed code to avoid HSI/RGB conversions entirely.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/serialize.cpp</div></div><hr class="fullhr"><u>Revision</u>: 4084800249d4f8b2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2013
         (16:51:39 UTC)
      <br><p style="margin:0.4em">Changed tests slightly to make it more robust to rounding error in the HSI/RGB
transform.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/serialize.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3c57430cbe81db50<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (14:49:51 UTC)
      <br><p style="margin:0.4em">made test a little more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/linear_manifold_regularizer.cpp</div></div><hr class="fullhr"><u>Revision</u>: c12425b02cb74775<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (-02:00:05 UTC)
      <br><p style="margin:0.4em">Fixed a bug I introduced a few minutes ago.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/float_details.h</div></div><hr class="fullhr"><u>Revision</u>: a1f0385430e6b464<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (-03:29:54 UTC)
      <br><p style="margin:0.4em">Fixing yet more compiler warnings on older versions of gcc</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div><div id="row1">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 186758c81025f134<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (-03:21:49 UTC)
      <br><p style="margin:0.4em">Another cast to avoid a compiler warning</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div></div><hr class="fullhr"><u>Revision</u>: c2e6e11c06b81592<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (-04:45:06 UTC)
      <br><p style="margin:0.4em">Added a cast to avoid a compiler warning</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/float_details.h</div></div><hr class="fullhr"><u>Revision</u>: 0b07a8fbd84d35a7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2013
         (07:33:52 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: dfd52cc0376bbc69<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2013
         (06:01:48 UTC)
      <br><p style="margin:0.4em">Removed cruft</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div></div><hr class="fullhr"><u>Revision</u>: f33721ce6d7331ae<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 21, 2013
         (05:56:45 UTC)
      <br><p style="margin:0.4em">Permanently enabled the asserts in the object detector test functions
since it's easy to mix up the adjust threshold and epsilon arguments
and these checks will usually catch that.  The checks are also very
low cost.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div></div><hr class="fullhr"><u>Revision</u>: 2295bd1f84b55260<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (18:03:25 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/create_random_projection_hash_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8dce5c2eb27c72cc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (17:55:45 UTC)
      <br><p style="margin:0.4em">Added create_max_margin_projection_hash()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/create_random_projection_hash.h</div><div id="row1">dlib/lsh/create_random_projection_hash_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 2bb38f9dcb6bcd0d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (10:35:58 UTC)
      <br><p style="margin:0.4em">Fixed another minor visual studio compiler error.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_fft.h</div></div><hr class="fullhr"><u>Revision</u>: 36d022b9046aceab<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (10:27:40 UTC)
      <br><p style="margin:0.4em">Minor change to avoid a compiler error in visual studio.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div></div><hr class="fullhr"><u>Revision</u>: dc151452e8a6b96f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (10:17:18 UTC)
      <br><p style="margin:0.4em">Added float_details documentation</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/float_details.h</div></div><hr class="fullhr"><u>Revision</u>: bc45fb832a05fb0f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (10:13:42 UTC)
      <br><p style="margin:0.4em">Added more comments</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/serialize.h</div></div><hr class="fullhr"><u>Revision</u>: ce2abac417fd0578<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (09:45:20 UTC)
      <br><p style="margin:0.4em">Added image_window::get_next_keypress()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/gui_widgets/widgets.cpp</div><div id="row1">dlib/gui_widgets/widgets.h</div><div id="row2">dlib/gui_widgets/widgets_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 15f004baf97dcf4a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (09:08:34 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_fft_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 18c88b369983a0d9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (09:01:03 UTC)
      <br><p style="margin:0.4em">Updated CMakeLists.txt so it tries to link with fftw if it is installed.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/CMakeLists.txt</div></div><hr class="fullhr"><u>Revision</u>: 9734afa8f4fb0e0f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 20, 2013
         (08:57:24 UTC)
      <br><p style="margin:0.4em">Added fft() and ifft()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix.h</div><div id="row1">dlib/test/CMakeLists.txt</div><div id="row2">dlib/test/makefile</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/matrix/matrix_fft.h</div><div id="row1">dlib/matrix/matrix_fft_abstract.h</div><div id="row2">dlib/test/fft.cpp</div></div><hr class="fullhr"><u>Revision</u>: 2878c6d3c827f025<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (17:18:21 UTC)
      <br><p style="margin:0.4em">Made both versions of load_image_dataset() support the skip_empty_images option</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div><div id="row1">dlib/data_io/load_image_dataset_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 2029c82a150f4732<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (14:48:52 UTC)
      <br><p style="margin:0.4em">fixed linker error</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles.h</div></div><hr class="fullhr"><u>Revision</u>: 5f1fd27cc74753d3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (14:22:49 UTC)
      <br><p style="margin:0.4em">minor cleanup</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 753b1b191364110e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (14:21:17 UTC)
      <br><p style="margin:0.4em">fixed grammar</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 45d3da502d2453c6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (14:15:46 UTC)
      <br><p style="margin:0.4em">Added remove_unobtainable_rectangles()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/remove_unobtainable_rectangles.h</div><div id="row1">dlib/image_processing/remove_unobtainable_rectangles_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5a11fbd986b297c7<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (08:53:11 UTC)
      <br><p style="margin:0.4em">Made the serialization formats for scan_image_boxes and scan_image_pyramid
include some extra data to validate the state of the object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 1a823c057cce9488<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 13, 2013
         (08:52:45 UTC)
      <br><p style="margin:0.4em">Added unit tests for scan_image_boxes</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 6bb967808f138f36<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (17:47:57 UTC)
      <br><p style="margin:0.4em">Changed the serialization formats for the matrix and array2d objects so that
they are compatible.  This was done in a way that is backwards compatible with
previous versions of dlib.  That is, we can still load data serialized by
previous dlib versions.  However, older versions of dlib can't load the new
serialization format.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array2d/array2d_kernel.h</div><div id="row1">dlib/array2d/array2d_kernel_abstract.h</div><div id="row2">dlib/array2d/serialize_pixel_overloads.h</div><div id="row1">dlib/matrix/matrix.h</div><div id="row2">dlib/matrix/matrix_abstract.h</div><div id="row1">dlib/test/serialize.cpp</div></div><hr class="fullhr"><u>Revision</u>: 541b4bf0145c8897<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (16:28:25 UTC)
      <br><p style="margin:0.4em">Fixed the hash_similar_angles_* hash functions so they also work on
matrices of float values.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/hashes.h</div><div id="row1">dlib/test/linear_manifold_regularizer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 275b908032896b62<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (16:25:14 UTC)
      <br><p style="margin:0.4em">Gave array a constructor that takes an initial size parameter</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/array/array_kernel.h</div><div id="row1">dlib/array/array_kernel_abstract.h</div><div id="row2">dlib/test/array.cpp</div></div><hr class="fullhr"><u>Revision</u>: 65820e148f684d0b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (15:51:24 UTC)
      <br><p style="margin:0.4em">Added documentation for the other overload of is_graph_labeling_problem().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_svm_graph_labeling_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5a6f0d750b1817fe<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (15:48:55 UTC)
      <br><p style="margin:0.4em">Added additional documentation to the code block timing tools.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/timing.h</div></div><hr class="fullhr"><u>Revision</u>: bc138ef332ff753d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (15:44:00 UTC)
      <br><p style="margin:0.4em">Clarified some requires clauses</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/equalize_histogram.h</div><div id="row1">dlib/image_transforms/equalize_histogram_abstract.h</div><div id="row2">dlib/image_transforms/thresholding_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 49ff472ccb3e317b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 12, 2013
         (15:35:20 UTC)
      <br><p style="margin:0.4em">Gave point_transform_affine member functions so the user can find
out what the transformation matrix is.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/geometry/point_transforms.h</div><div id="row1">dlib/geometry/point_transforms_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8d254ac425119749<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 09, 2013
         (13:44:24 UTC)
      <br><p style="margin:0.4em">Fixed the ranking test functions so they correctly compute the MAP values
for ranking functions which output constant values.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/ranking_tools.h</div><div id="row1">dlib/svm/ranking_tools_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8d1654100272104e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 07, 2013
         (18:53:14 UTC)
      <br><p style="margin:0.4em">made spec more accurate</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_saver/image_saver_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 08dd68d5cfe8aece<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (12:41:25 UTC)
      <br><p style="margin:0.4em">made test more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/linear_manifold_regularizer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 39bbae367c654e85<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (12:30:10 UTC)
      <br><p style="margin:0.4em">made test more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 101a549fc914616a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (16:47:39 UTC)
      <br><p style="margin:0.4em">Added serialization unit tests to cover the new format</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/serialize.cpp</div></div><hr class="fullhr"><u>Revision</u>: 1d05eb083f71fd05<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (16:22:32 UTC)
      <br><p style="margin:0.4em">added more tests</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 0204b9e37e1b2fbe<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (16:16:55 UTC)
      <br><p style="margin:0.4em">Added some unit tests for the new floating point DNG formats</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 673cd2bf27f55a6c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (15:50:49 UTC)
      <br><p style="margin:0.4em">Upgraded the dng image format so it can natively store floating point
pixel types without any information loss.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_loader/image_loader.h</div><div id="row1">dlib/image_saver/dng_shared.h</div><div id="row2">dlib/image_saver/image_saver.h</div><div id="row1">dlib/image_saver/image_saver_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f414d411adfdc417<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (14:16:14 UTC)
      <br><p style="margin:0.4em">Another minor refinement</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/serialize.h</div></div><hr class="fullhr"><u>Revision</u>: 54df43626b9f546b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (14:15:57 UTC)
      <br><p style="margin:0.4em">refined a little</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/float_details.h</div></div><hr class="fullhr"><u>Revision</u>: 406203ca45aeb86a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (11:54:02 UTC)
      <br><p style="margin:0.4em">Fixed a bug in save_dng() that happened sometimes when saving
images with unsigned char pixels.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_saver/image_saver.h</div><div id="row1">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 4af935e890deea8f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 06, 2013
         (10:43:54 UTC)
      <br><p style="margin:0.4em">Changed the format dlib uses when it serializes a floating point value.
Previously, we used an ASCII based format.  It now uses a much more efficient
binary format.  The deserialization routines have been made backwards
compatible with the previous format.  So dlib can still deserialize older data
but older software won't be able to read the new format.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/serialize.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/float_details.h</div></div><hr class="fullhr"><u>Revision</u>: 66f31f05e8d85313<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (17:45:46 UTC)
      <br><p style="margin:0.4em">Changed the scan_image_pyramid serialization version number since the
recent changes make its feature representation incompatible with
previous versions.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: a58f65df6a285d57<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (17:43:28 UTC)
      <br><p style="margin:0.4em">Fixed a bug I just introduced into the scan_image_pyramid.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 71d924810a90cd62<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (16:32:31 UTC)
      <br><p style="margin:0.4em">Added an additional threshold for each detection template.  This is useful
since some detection templates may be larger than others and therefore
naturally accumulate larger scores, therefore necessitating larger threshold
values.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: 4ea38915cfd199fa<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (16:04:59 UTC)
      <br><p style="margin:0.4em">Fixed a bug which was introduced a few days ago.  The problem was that the
validation routines set the detection threshold to negative infinity in an
attempt to elicit all the possible detections for the purpose of computing mean
average precision scores.  This works fine when using the scan_image_boxes
object but causes the detection quality to degrade when the scan_image_pyramid
is used since this object performs random subsampling to avoid producing an
excessive number of detections.  The fix is to allow the user to set the
adjust_threshold parameter themselves to whatever value they feel is reasonable
rather than hard coding it to negative infinity.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div><div id="row1">dlib/svm/cross_validate_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7dea8ed0ce76f51b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (15:54:53 UTC)
      <br><p style="margin:0.4em">Upgraded the object_detector so that you can use the adjust_threshold
argument for all versions of the operator() method.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 96a3a9df4fa35960<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (15:44:29 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 86ace370bda9eae5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 02, 2013
         (14:03:25 UTC)
      <br><p style="margin:0.4em">Made separable_3x3_filter_block_grayscale() a little more general.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/spatial_filtering.h</div><div id="row1">dlib/image_transforms/spatial_filtering_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 38b69ec17cd560f4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 01, 2013
         (19:09:14 UTC)
      <br><p style="margin:0.4em">fixed compiler error in clang</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/setup_hashed_features.h</div><div id="row1">dlib/image_processing/setup_hashed_features_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 7c6b3e7d7689da48<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 01, 2013
         (18:59:33 UTC)
      <br><p style="margin:0.4em">Added the binned_vector_feature_image.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint.h</div><div id="row1">dlib/image_processing/setup_hashed_features.h</div><div id="row2">dlib/image_processing/setup_hashed_features_abstract.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_keypoint/binned_vector_feature_image.h</div><div id="row1">dlib/image_keypoint/binned_vector_feature_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f7c78f495368d7eb<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Apr 01, 2013
         (18:03:03 UTC)
      <br><p style="margin:0.4em">Fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/hashed_feature_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8d4f1b680ed1d5dd<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 31, 2013
         (11:37:26 UTC)
      <br><p style="margin:0.4em">updated unit test to work with new object detector validation interface</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 5bfa3b7316d78542<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 31, 2013
         (11:33:51 UTC)
      <br><p style="margin:0.4em">Made the object detector validation functions also output the mean average
precision measure.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/cross_validate_object_detection_trainer.h</div><div id="row1">dlib/svm/cross_validate_object_detection_trainer_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: db325aec1a7df284<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 31, 2013
         (11:21:00 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5fd8f46e7eab7945<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 31, 2013
         (11:18:24 UTC)
      <br><p style="margin:0.4em">Changed the object_detector interface slightly.  In particular, it now handles
the adjust_threshold argument slightly differently in that it does not add it
to the output detection score anymore.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 11f27d7427139a65<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 31, 2013
         (07:12:43 UTC)
      <br><p style="margin:0.4em">Changed average_precision() to use interpolated precision.  So now it uses the
same metric as the one used by the Pascal VOC.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/average_precision.h</div><div id="row1">dlib/statistics/average_precision_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: 77401159aaa32104<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 30, 2013
         (13:35:16 UTC)
      <br><p style="margin:0.4em">Added features to model different detection box sizes.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div></div><hr class="fullhr"><u>Revision</u>: 0742025a91533d40<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 30, 2013
         (13:12:34 UTC)
      <br><p style="margin:0.4em">Added missing template arguments.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/setup_hashed_features.h</div><div id="row1">dlib/image_processing/setup_hashed_features_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 8c9d16afac4e5f20<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 30, 2013
         (12:51:27 UTC)
      <br><p style="margin:0.4em">Added linpiece()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_utilities.h</div><div id="row1">dlib/matrix/matrix_utilities_abstract.h</div><div id="row2">dlib/test/matrix4.cpp</div></div><hr class="fullhr"><u>Revision</u>: 3ca1173750945b45<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 28, 2013
         (15:21:52 UTC)
      <br><p style="margin:0.4em">Gave load_image_dataset() the ability to skip images that don't have
any ground truth boxes.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/data_io/load_image_dataset.h</div><div id="row1">dlib/data_io/load_image_dataset_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: cb7b2aa0fb6378cf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 27, 2013
         (16:21:44 UTC)
      <br><p style="margin:0.4em">Refined this object's interface slightly.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_boxes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c4db739a7a1f05c6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 25, 2013
         (18:37:56 UTC)
      <br><p style="margin:0.4em">made code slightly more robust</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div></div><hr class="fullhr"><u>Revision</u>: 77ba467015f9ab7a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (12:29:39 UTC)
      <br><p style="margin:0.4em">Added a version of setup_hashed_features() for scan_image_boxes objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/setup_hashed_features.h</div><div id="row1">dlib/image_processing/setup_hashed_features_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 192383ab28bcda55<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (12:16:07 UTC)
      <br><p style="margin:0.4em">Moved setup_hashed_features() into its own file.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing.h</div><div id="row1">dlib/image_processing/scan_image_pyramid_tools.h</div><div id="row2">dlib/image_processing/scan_image_pyramid_tools_abstract.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/setup_hashed_features.h</div><div id="row1">dlib/image_processing/setup_hashed_features_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 340075a9e2843270<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (11:40:07 UTC)
      <br><p style="margin:0.4em">fixed another typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: af936b7b196a9a4e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (11:36:32 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c16afca2d2a41ad5<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (11:33:54 UTC)
      <br><p style="margin:0.4em">Updated specs to reference both the scan_image_pyramid and scan_image_boxes
objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector_abstract.h</div><div id="row1">dlib/svm/structural_object_detection_trainer_abstract.h</div><div id="row2">dlib/svm/structural_svm_object_detection_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e704bfac16920e10<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (11:18:12 UTC)
      <br><p style="margin:0.4em">Simplified code slightly and filled out the spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_boxes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 706e702f894129f0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (10:10:14 UTC)
      <br><p style="margin:0.4em">clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/scan_image_pyramid_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5b3aa7001612fcd2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (08:13:39 UTC)
      <br><p style="margin:0.4em">Added initial version of scan_image_boxes object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_processing/scan_image_boxes.h</div><div id="row1">dlib/image_processing/scan_image_boxes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 922f206add5afb68<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 24, 2013
         (06:57:40 UTC)
      <br><p style="margin:0.4em">Filled out spec for find_candidate_object_locations()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div><div id="row1">dlib/image_transforms/segment_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: fe320dba83289420<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 23, 2013
         (15:49:42 UTC)
      <br><p style="margin:0.4em">Moved the responsibility for automatically filling out a test_box_overlap
object from the structural_object_detection_trainer to the
structural_svm_object_detection_problem.  This allows us to use image scanners
which require an image be loaded before get_best_matching_rect() can be called.
I also made it so that the scanner loading (and therefore feature extraction)
is threaded.  Previously, it only used a single core.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div><div id="row1">dlib/svm/structural_svm_object_detection_problem.h</div><div id="row2">dlib/svm/structural_svm_object_detection_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d0f686a1555417c1<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 23, 2013
         (14:08:17 UTC)
      <br><p style="margin:0.4em">These templates ostensibly allowed a user to supply their own version of the
test_box_overlap object.  However, one place in the code assumed the
test_box_overlap object was used and so this feature has actually been broken
for some time.  Moreover, it's probably just confusing and excessively complex
to have this level of user modifiability so I removed the option and hard coded
everything to use the test_box_overlap object.  This makes the code
significantly clearer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/object_detector.h</div><div id="row1">dlib/image_processing/object_detector_abstract.h</div><div id="row2">dlib/svm/structural_object_detection_trainer.h</div><div id="row1">dlib/svm/structural_object_detection_trainer_abstract.h</div><div id="row2">dlib/svm/structural_svm_object_detection_problem.h</div><div id="row1">dlib/svm/structural_svm_object_detection_problem_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4d058f9a83e68488<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 23, 2013
         (10:49:32 UTC)
      <br><p style="margin:0.4em">fixed spelling in comment</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div></div><hr class="fullhr"><u>Revision</u>: 43e33082375f926e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 21, 2013
         (16:08:51 UTC)
      <br><p style="margin:0.4em">Added a regularization parameter to cca()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca.h</div><div id="row1">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5df81f9e2ea50b77<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 18, 2013
         (18:12:01 UTC)
      <br><p style="margin:0.4em">Slightly changed unit test to avoid false alarms.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/svm_c_linear_dcd.cpp</div></div><hr class="fullhr"><u>Revision</u>: b5ca1973c9b4a332<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 15, 2013
         (16:37:08 UTC)
      <br><p style="margin:0.4em">Added code to avoid a potential division by zero</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_processing/box_overlap_testing.h</div></div><hr class="fullhr"><u>Revision</u>: 029d5cab72d5031c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (11:21:21 UTC)
      <br><p style="margin:0.4em">Fixed a bug I just introduced.  It caused the verbose parallel_for()
methods to not print updates after the first print.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension.h</div></div><hr class="fullhr"><u>Revision</u>: 62f876df9ef96f9e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (10:43:02 UTC)
      <br><p style="margin:0.4em">moved remove_duplicates() from dlib::impl to dlib namespace.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div></div><hr class="fullhr"><u>Revision</u>: 1a00bc15f7286f4b<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (10:39:05 UTC)
      <br><p style="margin:0.4em">Changed the verbose parallel_for() methods so that they only
print the final newline if any of the verbose messages printed.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension.h</div></div><hr class="fullhr"><u>Revision</u>: 141e0a08fa96b4ff<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (10:38:15 UTC)
      <br><p style="margin:0.4em">Made the console_progress_indicator::print_status() method return
a bool indicating if it actually printed anything.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/console_progress_indicator.h</div></div><hr class="fullhr"><u>Revision</u>: f6e79512e084b66a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (10:37:32 UTC)
      <br><p style="margin:0.4em">Removed unneeded declarations of the constant pi</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/fine_hog_image.h</div><div id="row1">dlib/image_keypoint/hog.h</div><div id="row2">dlib/image_keypoint/surf.h</div><div id="row1">dlib/test/geometry.cpp</div></div><hr class="fullhr"><u>Revision</u>: b1bf9f8bef6d8bb9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (10:00:32 UTC)
      <br><p style="margin:0.4em">Made algs.h include numeric_constants.h since it adds essentially no overhead
to the compilation process but makes these convenient constants always
available.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/algs.h</div></div><hr class="fullhr"><u>Revision</u>: 8f2ce2e78af65cf8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 17, 2013
         (09:38:25 UTC)
      <br><p style="margin:0.4em">Removed the max_n feature from the running_stats object since it's actually
been broken for a while and I doubt anyone ever used it (this also simplifies
it's interface).  Note that this change, along with the previous change by
Steven breaks backwards compatibility with the previous serialization format
for running_stats object.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div></div><hr class="fullhr"><u>Revision</u>: a0cc8fff88be5882<br><u>Author</u>: <a href="mailto:steve98654@gmail.com">Steve Taylor</a><br><u>Date</u>: Mar 17, 2013
         (09:32:30 UTC)
      <br><p style="margin:0.4em">Added a numerical constants file numeric_constants.h.  Expanded the
running_stats object in statistics.h by including two functions that
compute the unbiased empirical skewness and kurtosis of a set
of real numbers.  Added unit tests for these functions in statistics.cpp.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/statistics.h</div><div id="row1">dlib/statistics/statistics_abstract.h</div><div id="row2">dlib/test/statistics.cpp</div><div id="row1">examples/CMakeLists.txt</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/numeric_constants.h</div><div id="row1">examples/running_stats_ex.cpp</div></div><hr class="fullhr"><u>Revision</u>: b0ec124c5b9c31d4<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (17:33:32 UTC)
      <br><p style="margin:0.4em">Made graph_utils_threaded.h #include graph_utils.h</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_utils_threaded.h</div></div><hr class="fullhr"><u>Revision</u>: 63b58ad5ade9d156<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (17:23:41 UTC)
      <br><p style="margin:0.4em">fixed typo in spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh/hashes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 9c3ef2952cc980b3<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (17:10:08 UTC)
      <br><p style="margin:0.4em">Added unit tests for the find_k_nearest_neighbors_lsh() method
and related tools.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/linear_manifold_regularizer.cpp</div></div><hr class="fullhr"><u>Revision</u>: 4e6957320a89e19e<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (17:09:35 UTC)
      <br><p style="margin:0.4em">A minor change to avoid a compiler warning from clang</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_utils/find_k_nearest_neighbors_lsh.h</div></div><hr class="fullhr"><u>Revision</u>: 29218d4883e4b5a0<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (17:05:17 UTC)
      <br><p style="margin:0.4em">removed cruft</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/graph_utils/find_k_nearest_neighbors_lsh.h</div></div><hr class="fullhr"><u>Revision</u>: 9e84e2e803251533<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (16:36:48 UTC)
      <br><p style="margin:0.4em">Added find_k_nearest_neighbors_lsh() and hash_samples()</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/graph_utils/find_k_nearest_neighbors_lsh.h</div><div id="row1">dlib/graph_utils/find_k_nearest_neighbors_lsh_abstract.h</div><div id="row2">dlib/graph_utils_threaded.h</div></div><hr class="fullhr"><u>Revision</u>: 8d0624bf56734ecc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 14, 2013
         (16:01:30 UTC)
      <br><p style="margin:0.4em">Added a set of new LSH based hashing functions meant for use
with larger vectors and high bit sizes than the current LSH tool.
These are the new hash_similar_angles_xxx objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/lsh.h</div></div><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/lsh/hashes.h</div><div id="row1">dlib/lsh/hashes_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 375edae4bf4145af<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 13, 2013
         (17:18:00 UTC)
      <br><p style="margin:0.4em">Added initial version of find_candidate_object_locations()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div></div><hr class="fullhr"><u>Revision</u>: 7ba630c18ce194f9<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 13, 2013
         (14:11:18 UTC)
      <br><p style="margin:0.4em">Added missing #include</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sqlite/sqlite.h</div></div><hr class="fullhr"><u>Revision</u>: 84832f1a3e5dbffa<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 12, 2013
         (14:39:13 UTC)
      <br><p style="margin:0.4em">Added database::last_insert_rowid()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sqlite/sqlite.h</div><div id="row1">dlib/sqlite/sqlite_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e3df7856310cd459<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 09, 2013
         (04:07:36 UTC)
      <br><p style="margin:0.4em">This doesn't change the behavior of segment_image().  I just refactored it to
avoid duplicate code and generally cleaned things up a little.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div></div><hr class="fullhr"><u>Revision</u>: 387c55f385021f50<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 04, 2013
         (13:59:44 UTC)
      <br><p style="margin:0.4em">Made the console output from the verbose parallel for routines
a little nicer.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension.h</div></div><hr class="fullhr"><u>Revision</u>: f32e25ad1be0e97d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (12:16:05 UTC)
      <br><p style="margin:0.4em">Added draw_surf_points().</p><div id="logb"><div class="bsolid"><b><font color="blue">Added</font></b></div><div id="row2">dlib/image_keypoint/draw_surf_points.h</div><div id="row1">dlib/image_keypoint/draw_surf_points_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: a330e1c1efb85630<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (11:49:19 UTC)
      <br><p style="margin:0.4em">Set a default value for the max number of points argument for get_surf_points().</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/surf.h</div><div id="row1">dlib/image_keypoint/surf_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 37aa4949821fbf0a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (11:28:10 UTC)
      <br><p style="margin:0.4em">removed unused variable</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/hessian_pyramid.h</div></div><hr class="fullhr"><u>Revision</u>: dcc0250862426be2<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (09:59:21 UTC)
      <br><p style="margin:0.4em">Made the detection threshold an argument to get_surf_points() rather than having it hard
coded.  I also increased the default threshold to a more reasonable value.  The previous
value hardly excluded any points and gave a slightly worse average precision on a standard
test dataset.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/surf.h</div><div id="row1">dlib/image_keypoint/surf_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 60d196f6d8b49c41<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (09:36:59 UTC)
      <br><p style="margin:0.4em">Made get_surf_points() set the integral image pixel type automatically
based on the input pixel type rather than always using long.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_keypoint/surf.h</div></div><hr class="fullhr"><u>Revision</u>: e8e2e14c8dd681dc<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 03, 2013
         (05:40:33 UTC)
      <br><p style="margin:0.4em">Added scope qualifiers to dlib::array so there isn't a name conflict
on C++11 compilers.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/array.cpp</div><div id="row1">dlib/test/object_detector.cpp</div><div id="row2">dlib/test/scan_image.cpp</div><div id="row1">dlib/test/sockets2.cpp</div><div id="row2">examples/object_detector_advanced_ex.cpp</div><div id="row1">examples/object_detector_ex.cpp</div><div id="row2">examples/train_object_detector.cpp</div></div><hr class="fullhr"><u>Revision</u>: 106b5b5ed8b5ae02<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 02, 2013
         (06:46:30 UTC)
      <br><p style="margin:0.4em">Added an overload of cca() that can take random_subset_selector objects.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca.h</div><div id="row1">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: e805cdfbcc9ce2c6<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 02, 2013
         (06:32:21 UTC)
      <br><p style="margin:0.4em">Added to_std_vector() to the random_subset_selector.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/random_subset_selector.h</div><div id="row1">dlib/statistics/random_subset_selector_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 3adf387a5a98484c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 02, 2013
         (06:12:22 UTC)
      <br><p style="margin:0.4em">clarified cca spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/statistics/cca_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d20b6915ebbb5d23<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 02, 2013
         (06:08:15 UTC)
      <br><p style="margin:0.4em">Clarified spec</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: c218ff5fd5b4f138<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (17:45:56 UTC)
      <br><p style="margin:0.4em">To work around a bug in visual studio 2012, I changed the iosockstream from using
iostream::tie() to implement its "auto flush on read" feature to use the sockstreambuf's
own auto flushing mode instead.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/iosockstream/iosockstream.h</div><div id="row1">dlib/iosockstream/iosockstream_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 5864645f389ef2b8<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Mar 01, 2013
         (17:44:08 UTC)
      <br><p style="margin:0.4em">Added an option for a sockstreambuf to automatically flush its output
buffers before performing any network reads.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/sockstreambuf/sockstreambuf.cpp</div><div id="row1">dlib/sockstreambuf/sockstreambuf.h</div><div id="row2">dlib/sockstreambuf/sockstreambuf_abstract.h</div><div id="row1">dlib/sockstreambuf/sockstreambuf_unbuffered.h</div></div><hr class="fullhr"><u>Revision</u>: 7acdd459483e0077<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 28, 2013
         (14:59:18 UTC)
      <br><p style="margin:0.4em">fixed grammar in comment</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/matrix/matrix_la_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: f493de1bee962d9a<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 28, 2013
         (14:07:43 UTC)
      <br><p style="margin:0.4em">Added more parallel_for() unit tests and changed code to suppress compiler warnings.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/parallel_for.cpp</div></div><hr class="fullhr"><u>Revision</u>: 4cb261770105fecf<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 28, 2013
         (13:45:10 UTC)
      <br><p style="margin:0.4em">Changed the file and directory objects to not be reference counted.  This
is so they are safer to use in threaded programs.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/dir_nav/dir_nav_kernel_1.cpp</div><div id="row1">dlib/dir_nav/dir_nav_kernel_1.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_2.cpp</div><div id="row1">dlib/dir_nav/dir_nav_kernel_2.h</div><div id="row2">dlib/dir_nav/dir_nav_kernel_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: d110c06e41330540<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 28, 2013
         (13:09:37 UTC)
      <br><p style="margin:0.4em">Added unit tests for segment_image()</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/test/image.cpp</div></div><hr class="fullhr"><u>Revision</u>: 98dbd799a16e982c<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 28, 2013
         (13:07:12 UTC)
      <br><p style="margin:0.4em">Made segment_image() use the fast version for uint16 pixels.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div></div><hr class="fullhr"><u>Revision</u>: e9705fbfc1f4bf8d<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 27, 2013
         (18:43:26 UTC)
      <br><p style="margin:0.4em">Generalized segment_image() so it works on any pixel type or array of vectors.
I also changed it's interface slightly.  In particular, I removed the min_diff
parameter and replaced it with an explicit min_size parameter.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/image_transforms/segment_image.h</div><div id="row1">dlib/image_transforms/segment_image_abstract.h</div></div><hr class="fullhr"><u>Revision</u>: 4ab0c4017384e3ba<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 26, 2013
         (18:33:17 UTC)
      <br><p style="margin:0.4em">Fixed some compiler errors when using certain versions of the verbose
parallel_for routines.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension.h</div></div><hr class="fullhr"><u>Revision</u>: 6bfc49671b556f3f<br><u>Author</u>: <a href="mailto:davis@dlib.net">Davis King</a><br><u>Date</u>: Feb 26, 2013
         (18:25:45 UTC)
      <br><p style="margin:0.4em">Added parallel_for_blocked_verbose() and also slightly improved
verbose time remaining estimation.</p><div id="logb"><div class="bsolid"><b><font color="black">Modified</font></b></div><div id="row2">dlib/threads/parallel_for_extension.h</div><div id="row1">dlib/threads/parallel_for_extension_abstract.h</div></div><hr class="fullhr"></td></tr></table></div></body></html>
